home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / ASM-MIPS / UNISTD.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  64KB  |  1,486 lines

  1. /* $Id: unistd.h,v 1.21 1998/10/19 21:29:15 ralf Exp $
  2.  *
  3.  * This file is subject to the terms and conditions of the GNU General Public
  4.  * License.  See the file "COPYING" in the main directory of this archive
  5.  * for more details.
  6.  *
  7.  * Copyright (C) 1995, 1996, 1997, 1998 by Ralf Baechle
  8.  *
  9.  * Changed system calls macros _syscall5 - _syscall7 to push args 5 to 7 onto
  10.  * the stack. Robin Farine for ACN S.A, Copyright (C) 1996 by ACN S.A
  11.  */
  12. #ifndef __ASM_MIPS_UNISTD_H
  13. #define __ASM_MIPS_UNISTD_H
  14.  
  15. /*
  16.  * The syscalls 0 - 3999 are reserved for a down to the root syscall
  17.  * compatibility with RISC/os and IRIX.  We'll see how to deal with the
  18.  * various "real" BSD variants like Ultrix, NetBSD ...
  19.  */
  20.  
  21. /*
  22.  * SVR4 syscalls are in the range from 1 to 999
  23.  */
  24. #define __NR_SVR4            0
  25. #define __NR_SVR4_syscall        (__NR_SVR4 +   0)
  26. #define __NR_SVR4_exit            (__NR_SVR4 +   1)
  27. #define __NR_SVR4_fork            (__NR_SVR4 +   2)
  28. #define __NR_SVR4_read            (__NR_SVR4 +   3)
  29. #define __NR_SVR4_write            (__NR_SVR4 +   4)
  30. #define __NR_SVR4_open            (__NR_SVR4 +   5)
  31. #define __NR_SVR4_close            (__NR_SVR4 +   6)
  32. #define __NR_SVR4_wait            (__NR_SVR4 +   7)
  33. #define __NR_SVR4_creat            (__NR_SVR4 +   8)
  34. #define __NR_SVR4_link            (__NR_SVR4 +   9)
  35. #define __NR_SVR4_unlink        (__NR_SVR4 +  10)
  36. #define __NR_SVR4_exec            (__NR_SVR4 +  11)
  37. #define __NR_SVR4_chdir            (__NR_SVR4 +  12)
  38. #define __NR_SVR4_gtime            (__NR_SVR4 +  13)
  39. #define __NR_SVR4_mknod            (__NR_SVR4 +  14)
  40. #define __NR_SVR4_chmod            (__NR_SVR4 +  15)
  41. #define __NR_SVR4_chown            (__NR_SVR4 +  16)
  42. #define __NR_SVR4_sbreak        (__NR_SVR4 +  17)
  43. #define __NR_SVR4_stat            (__NR_SVR4 +  18)
  44. #define __NR_SVR4_lseek            (__NR_SVR4 +  19)
  45. #define __NR_SVR4_getpid        (__NR_SVR4 +  20)
  46. #define __NR_SVR4_mount            (__NR_SVR4 +  21)
  47. #define __NR_SVR4_umount        (__NR_SVR4 +  22)
  48. #define __NR_SVR4_setuid        (__NR_SVR4 +  23)
  49. #define __NR_SVR4_getuid        (__NR_SVR4 +  24)
  50. #define __NR_SVR4_stime            (__NR_SVR4 +  25)
  51. #define __NR_SVR4_ptrace        (__NR_SVR4 +  26)
  52. #define __NR_SVR4_alarm            (__NR_SVR4 +  27)
  53. #define __NR_SVR4_fstat            (__NR_SVR4 +  28)
  54. #define __NR_SVR4_pause            (__NR_SVR4 +  29)
  55. #define __NR_SVR4_utime            (__NR_SVR4 +  30)
  56. #define __NR_SVR4_stty            (__NR_SVR4 +  31)
  57. #define __NR_SVR4_gtty            (__NR_SVR4 +  32)
  58. #define __NR_SVR4_access        (__NR_SVR4 +  33)
  59. #define __NR_SVR4_nice            (__NR_SVR4 +  34)
  60. #define __NR_SVR4_statfs        (__NR_SVR4 +  35)
  61. #define __NR_SVR4_sync            (__NR_SVR4 +  36)
  62. #define __NR_SVR4_kill            (__NR_SVR4 +  37)
  63. #define __NR_SVR4_fstatfs        (__NR_SVR4 +  38)
  64. #define __NR_SVR4_setpgrp        (__NR_SVR4 +  39)
  65. #define __NR_SVR4_cxenix        (__NR_SVR4 +  40)
  66. #define __NR_SVR4_dup            (__NR_SVR4 +  41)
  67. #define __NR_SVR4_pipe            (__NR_SVR4 +  42)
  68. #define __NR_SVR4_times            (__NR_SVR4 +  43)
  69. #define __NR_SVR4_profil        (__NR_SVR4 +  44)
  70. #define __NR_SVR4_plock            (__NR_SVR4 +  45)
  71. #define __NR_SVR4_setgid        (__NR_SVR4 +  46)
  72. #define __NR_SVR4_getgid        (__NR_SVR4 +  47)
  73. #define __NR_SVR4_sig            (__NR_SVR4 +  48)
  74. #define __NR_SVR4_msgsys        (__NR_SVR4 +  49)
  75. #define __NR_SVR4_sysmips        (__NR_SVR4 +  50)
  76. #define __NR_SVR4_sysacct        (__NR_SVR4 +  51)
  77. #define __NR_SVR4_shmsys        (__NR_SVR4 +  52)
  78. #define __NR_SVR4_semsys        (__NR_SVR4 +  53)
  79. #define __NR_SVR4_ioctl            (__NR_SVR4 +  54)
  80. #define __NR_SVR4_uadmin        (__NR_SVR4 +  55)
  81. #define __NR_SVR4_exch             (__NR_SVR4 +  56)
  82. #define __NR_SVR4_utssys        (__NR_SVR4 +  57)
  83. #define __NR_SVR4_fsync            (__NR_SVR4 +  58)
  84. #define __NR_SVR4_exece            (__NR_SVR4 +  59)
  85. #define __NR_SVR4_umask            (__NR_SVR4 +  60)
  86. #define __NR_SVR4_chroot        (__NR_SVR4 +  61)
  87. #define __NR_SVR4_fcntl            (__NR_SVR4 +  62)
  88. #define __NR_SVR4_ulimit        (__NR_SVR4 +  63)
  89. #define __NR_SVR4_reserved1        (__NR_SVR4 +  64)
  90. #define __NR_SVR4_reserved2        (__NR_SVR4 +  65)
  91. #define __NR_SVR4_reserved3        (__NR_SVR4 +  66)
  92. #define __NR_SVR4_reserved4        (__NR_SVR4 +  67)
  93. #define __NR_SVR4_reserved5        (__NR_SVR4 +  68)
  94. #define __NR_SVR4_reserved6        (__NR_SVR4 +  69)
  95. #define __NR_SVR4_advfs            (__NR_SVR4 +  70)
  96. #define __NR_SVR4_unadvfs        (__NR_SVR4 +  71)
  97. #define __NR_SVR4_unused1        (__NR_SVR4 +  72)
  98. #define __NR_SVR4_unused2        (__NR_SVR4 +  73)
  99. #define __NR_SVR4_rfstart        (__NR_SVR4 +  74)
  100. #define __NR_SVR4_unused3        (__NR_SVR4 +  75)
  101. #define __NR_SVR4_rdebug        (__NR_SVR4 +  76)
  102. #define __NR_SVR4_rfstop        (__NR_SVR4 +  77)
  103. #define __NR_SVR4_rfsys            (__NR_SVR4 +  78)
  104. #define __NR_SVR4_rmdir            (__NR_SVR4 +  79)
  105. #define __NR_SVR4_mkdir            (__NR_SVR4 +  80)
  106. #define __NR_SVR4_getdents        (__NR_SVR4 +  81)
  107. #define __NR_SVR4_libattach        (__NR_SVR4 +  82)
  108. #define __NR_SVR4_libdetach        (__NR_SVR4 +  83)
  109. #define __NR_SVR4_sysfs            (__NR_SVR4 +  84)
  110. #define __NR_SVR4_getmsg        (__NR_SVR4 +  85)
  111. #define __NR_SVR4_putmsg        (__NR_SVR4 +  86)
  112. #define __NR_SVR4_poll            (__NR_SVR4 +  87)
  113. #define __NR_SVR4_lstat            (__NR_SVR4 +  88)
  114. #define __NR_SVR4_symlink        (__NR_SVR4 +  89)
  115. #define __NR_SVR4_readlink        (__NR_SVR4 +  90)
  116. #define __NR_SVR4_setgroups        (__NR_SVR4 +  91)
  117. #define __NR_SVR4_getgroups        (__NR_SVR4 +  92)
  118. #define __NR_SVR4_fchmod        (__NR_SVR4 +  93)
  119. #define __NR_SVR4_fchown        (__NR_SVR4 +  94)
  120. #define __NR_SVR4_sigprocmask        (__NR_SVR4 +  95)
  121. #define __NR_SVR4_sigsuspend        (__NR_SVR4 +  96)
  122. #define __NR_SVR4_sigaltstack        (__NR_SVR4 +  97)
  123. #define __NR_SVR4_sigaction        (__NR_SVR4 +  98)
  124. #define __NR_SVR4_sigpending        (__NR_SVR4 +  99)
  125. #define __NR_SVR4_setcontext        (__NR_SVR4 + 100)
  126. #define __NR_SVR4_evsys            (__NR_SVR4 + 101)
  127. #define __NR_SVR4_evtrapret        (__NR_SVR4 + 102)
  128. #define __NR_SVR4_statvfs        (__NR_SVR4 + 103)
  129. #define __NR_SVR4_fstatvfs        (__NR_SVR4 + 104)
  130. #define __NR_SVR4_reserved7        (__NR_SVR4 + 105)
  131. #define __NR_SVR4_nfssys        (__NR_SVR4 + 106)
  132. #define __NR_SVR4_waitid        (__NR_SVR4 + 107)
  133. #define __NR_SVR4_sigsendset        (__NR_SVR4 + 108)
  134. #define __NR_SVR4_hrtsys        (__NR_SVR4 + 109)
  135. #define __NR_SVR4_acancel        (__NR_SVR4 + 110)
  136. #define __NR_SVR4_async            (__NR_SVR4 + 111)
  137. #define __NR_SVR4_priocntlset        (__NR_SVR4 + 112)
  138. #define __NR_SVR4_pathconf        (__NR_SVR4 + 113)
  139. #define __NR_SVR4_mincore        (__NR_SVR4 + 114)
  140. #define __NR_SVR4_mmap            (__NR_SVR4 + 115)
  141. #define __NR_SVR4_mprotect        (__NR_SVR4 + 116)
  142. #define __NR_SVR4_munmap        (__NR_SVR4 + 117)
  143. #define __NR_SVR4_fpathconf        (__NR_SVR4 + 118)
  144. #define __NR_SVR4_vfork            (__NR_SVR4 + 119)
  145. #define __NR_SVR4_fchdir        (__NR_SVR4 + 120)
  146. #define __NR_SVR4_readv            (__NR_SVR4 + 121)
  147. #define __NR_SVR4_writev        (__NR_SVR4 + 122)
  148. #define __NR_SVR4_xstat            (__NR_SVR4 + 123)
  149. #define __NR_SVR4_lxstat        (__NR_SVR4 + 124)
  150. #define __NR_SVR4_fxstat        (__NR_SVR4 + 125)
  151. #define __NR_SVR4_xmknod        (__NR_SVR4 + 126)
  152. #define __NR_SVR4_clocal        (__NR_SVR4 + 127)
  153. #define __NR_SVR4_setrlimit        (__NR_SVR4 + 128)
  154. #define __NR_SVR4_getrlimit        (__NR_SVR4 + 129)
  155. #define __NR_SVR4_lchown        (__NR_SVR4 + 130)
  156. #define __NR_SVR4_memcntl        (__NR_SVR4 + 131)
  157. #define __NR_SVR4_getpmsg        (__NR_SVR4 + 132)
  158. #define __NR_SVR4_putpmsg        (__NR_SVR4 + 133)
  159. #define __NR_SVR4_rename        (__NR_SVR4 + 134)
  160. #define __NR_SVR4_nuname        (__NR_SVR4 + 135)
  161. #define __NR_SVR4_setegid        (__NR_SVR4 + 136)
  162. #define __NR_SVR4_sysconf        (__NR_SVR4 + 137)
  163. #define __NR_SVR4_adjtime        (__NR_SVR4 + 138)
  164. #define __NR_SVR4_sysinfo        (__NR_SVR4 + 139)
  165. #define __NR_SVR4_reserved8        (__NR_SVR4 + 140)
  166. #define __NR_SVR4_seteuid        (__NR_SVR4 + 141)
  167. #define __NR_SVR4_PYRAMID_statis    (__NR_SVR4 + 142)
  168. #define __NR_SVR4_PYRAMID_tuning    (__NR_SVR4 + 143)
  169. #define __NR_SVR4_PYRAMID_forcerr    (__NR_SVR4 + 144)
  170. #define __NR_SVR4_PYRAMID_mpcntl    (__NR_SVR4 + 145)
  171. #define __NR_SVR4_reserved9        (__NR_SVR4 + 146)
  172. #define __NR_SVR4_reserved10        (__NR_SVR4 + 147)
  173. #define __NR_SVR4_reserved11        (__NR_SVR4 + 148)
  174. #define __NR_SVR4_reserved12        (__NR_SVR4 + 149)
  175. #define __NR_SVR4_reserved13        (__NR_SVR4 + 150)
  176. #define __NR_SVR4_reserved14        (__NR_SVR4 + 151)
  177. #define __NR_SVR4_reserved15        (__NR_SVR4 + 152)
  178. #define __NR_SVR4_reserved16        (__NR_SVR4 + 153)
  179. #define __NR_SVR4_reserved17        (__NR_SVR4 + 154)
  180. #define __NR_SVR4_reserved18        (__NR_SVR4 + 155)
  181. #define __NR_SVR4_reserved19        (__NR_SVR4 + 156)
  182. #define __NR_SVR4_reserved20        (__NR_SVR4 + 157)
  183. #define __NR_SVR4_reserved21        (__NR_SVR4 + 158)
  184. #define __NR_SVR4_reserved22        (__NR_SVR4 + 159)
  185. #define __NR_SVR4_reserved23        (__NR_SVR4 + 160)
  186. #define __NR_SVR4_reserved24        (__NR_SVR4 + 161)
  187. #define __NR_SVR4_reserved25        (__NR_SVR4 + 162)
  188. #define __NR_SVR4_reserved26        (__NR_SVR4 + 163)
  189. #define __NR_SVR4_reserved27        (__NR_SVR4 + 164)
  190. #define __NR_SVR4_reserved28        (__NR_SVR4 + 165)
  191. #define __NR_SVR4_reserved29        (__NR_SVR4 + 166)
  192. #define __NR_SVR4_reserved30        (__NR_SVR4 + 167)
  193. #define __NR_SVR4_reserved31        (__NR_SVR4 + 168)
  194. #define __NR_SVR4_reserved32        (__NR_SVR4 + 169)
  195. #define __NR_SVR4_reserved33        (__NR_SVR4 + 170)
  196. #define __NR_SVR4_reserved34        (__NR_SVR4 + 171)
  197. #define __NR_SVR4_reserved35        (__NR_SVR4 + 172)
  198. #define __NR_SVR4_reserved36        (__NR_SVR4 + 173)
  199. #define __NR_SVR4_reserved37        (__NR_SVR4 + 174)
  200. #define __NR_SVR4_reserved38        (__NR_SVR4 + 175)
  201. #define __NR_SVR4_reserved39        (__NR_SVR4 + 176)
  202. #define __NR_SVR4_reserved40        (__NR_SVR4 + 177)
  203. #define __NR_SVR4_reserved41        (__NR_SVR4 + 178)
  204. #define __NR_SVR4_reserved42        (__NR_SVR4 + 179)
  205. #define __NR_SVR4_reserved43        (__NR_SVR4 + 180)
  206. #define __NR_SVR4_reserved44        (__NR_SVR4 + 181)
  207. #define __NR_SVR4_reserved45        (__NR_SVR4 + 182)
  208. #define __NR_SVR4_reserved46        (__NR_SVR4 + 183)
  209. #define __NR_SVR4_reserved47        (__NR_SVR4 + 184)
  210. #define __NR_SVR4_reserved48        (__NR_SVR4 + 185)
  211. #define __NR_SVR4_reserved49        (__NR_SVR4 + 186)
  212. #define __NR_SVR4_reserved50        (__NR_SVR4 + 187)
  213. #define __NR_SVR4_reserved51        (__NR_SVR4 + 188)
  214. #define __NR_SVR4_reserved52        (__NR_SVR4 + 189)
  215. #define __NR_SVR4_reserved53        (__NR_SVR4 + 190)
  216. #define __NR_SVR4_reserved54        (__NR_SVR4 + 191)
  217. #define __NR_SVR4_reserved55        (__NR_SVR4 + 192)
  218. #define __NR_SVR4_reserved56        (__NR_SVR4 + 193)
  219. #define __NR_SVR4_reserved57        (__NR_SVR4 + 194)
  220. #define __NR_SVR4_reserved58        (__NR_SVR4 + 195)
  221. #define __NR_SVR4_reserved59        (__NR_SVR4 + 196)
  222. #define __NR_SVR4_reserved60        (__NR_SVR4 + 197)
  223. #define __NR_SVR4_reserved61        (__NR_SVR4 + 198)
  224. #define __NR_SVR4_reserved62        (__NR_SVR4 + 199)
  225. #define __NR_SVR4_reserved63        (__NR_SVR4 + 200)
  226. #define __NR_SVR4_aread            (__NR_SVR4 + 201)
  227. #define __NR_SVR4_awrite        (__NR_SVR4 + 202)    
  228. #define __NR_SVR4_listio        (__NR_SVR4 + 203)
  229. #define __NR_SVR4_mips_acancel        (__NR_SVR4 + 204)
  230. #define __NR_SVR4_astatus        (__NR_SVR4 + 205)
  231. #define __NR_SVR4_await            (__NR_SVR4 + 206)
  232. #define __NR_SVR4_areadv        (__NR_SVR4 + 207)
  233. #define __NR_SVR4_awritev        (__NR_SVR4 + 208)
  234. #define __NR_SVR4_MIPS_reserved1    (__NR_SVR4 + 209)
  235. #define __NR_SVR4_MIPS_reserved2    (__NR_SVR4 + 210)
  236. #define __NR_SVR4_MIPS_reserved3    (__NR_SVR4 + 211)
  237. #define __NR_SVR4_MIPS_reserved4    (__NR_SVR4 + 212)
  238. #define __NR_SVR4_MIPS_reserved5    (__NR_SVR4 + 213)
  239. #define __NR_SVR4_MIPS_reserved6    (__NR_SVR4 + 214)
  240. #define __NR_SVR4_MIPS_reserved7    (__NR_SVR4 + 215)
  241. #define __NR_SVR4_MIPS_reserved8    (__NR_SVR4 + 216)
  242. #define __NR_SVR4_MIPS_reserved9    (__NR_SVR4 + 217)
  243. #define __NR_SVR4_MIPS_reserved10    (__NR_SVR4 + 218)
  244. #define __NR_SVR4_MIPS_reserved11    (__NR_SVR4 + 219)
  245. #define __NR_SVR4_MIPS_reserved12    (__NR_SVR4 + 220)
  246. #define __NR_SVR4_CDC_reserved1        (__NR_SVR4 + 221)
  247. #define __NR_SVR4_CDC_reserved2        (__NR_SVR4 + 222)
  248. #define __NR_SVR4_CDC_reserved3        (__NR_SVR4 + 223)
  249. #define __NR_SVR4_CDC_reserved4        (__NR_SVR4 + 224)
  250. #define __NR_SVR4_CDC_reserved5        (__NR_SVR4 + 225)
  251. #define __NR_SVR4_CDC_reserved6        (__NR_SVR4 + 226)
  252. #define __NR_SVR4_CDC_reserved7        (__NR_SVR4 + 227)
  253. #define __NR_SVR4_CDC_reserved8        (__NR_SVR4 + 228)
  254. #define __NR_SVR4_CDC_reserved9        (__NR_SVR4 + 229)
  255. #define __NR_SVR4_CDC_reserved10    (__NR_SVR4 + 230)
  256. #define __NR_SVR4_CDC_reserved11    (__NR_SVR4 + 231)
  257. #define __NR_SVR4_CDC_reserved12    (__NR_SVR4 + 232)
  258. #define __NR_SVR4_CDC_reserved13    (__NR_SVR4 + 233)
  259. #define __NR_SVR4_CDC_reserved14    (__NR_SVR4 + 234)
  260. #define __NR_SVR4_CDC_reserved15    (__NR_SVR4 + 235)
  261. #define __NR_SVR4_CDC_reserved16    (__NR_SVR4 + 236)
  262. #define __NR_SVR4_CDC_reserved17    (__NR_SVR4 + 237)
  263. #define __NR_SVR4_CDC_reserved18    (__NR_SVR4 + 238)
  264. #define __NR_SVR4_CDC_reserved19    (__NR_SVR4 + 239)
  265. #define __NR_SVR4_CDC_reserved20    (__NR_SVR4 + 240)
  266.  
  267. /*
  268.  * SYS V syscalls are in the range from 1000 to 1999
  269.  */
  270. #define __NR_SYSV            1000
  271. #define __NR_SYSV_syscall        (__NR_SYSV +   0)
  272. #define __NR_SYSV_exit            (__NR_SYSV +   1)
  273. #define __NR_SYSV_fork            (__NR_SYSV +   2)
  274. #define __NR_SYSV_read            (__NR_SYSV +   3)
  275. #define __NR_SYSV_write            (__NR_SYSV +   4)
  276. #define __NR_SYSV_open            (__NR_SYSV +   5)
  277. #define __NR_SYSV_close            (__NR_SYSV +   6)
  278. #define __NR_SYSV_wait            (__NR_SYSV +   7)
  279. #define __NR_SYSV_creat            (__NR_SYSV +   8)
  280. #define __NR_SYSV_link            (__NR_SYSV +   9)
  281. #define __NR_SYSV_unlink        (__NR_SYSV +  10)
  282. #define __NR_SYSV_execv            (__NR_SYSV +  11)
  283. #define __NR_SYSV_chdir            (__NR_SYSV +  12)
  284. #define __NR_SYSV_time            (__NR_SYSV +  13)
  285. #define __NR_SYSV_mknod            (__NR_SYSV +  14)
  286. #define __NR_SYSV_chmod            (__NR_SYSV +  15)
  287. #define __NR_SYSV_chown            (__NR_SYSV +  16)
  288. #define __NR_SYSV_brk            (__NR_SYSV +  17)
  289. #define __NR_SYSV_stat            (__NR_SYSV +  18)
  290. #define __NR_SYSV_lseek            (__NR_SYSV +  19)
  291. #define __NR_SYSV_getpid        (__NR_SYSV +  20)
  292. #define __NR_SYSV_mount            (__NR_SYSV +  21)
  293. #define __NR_SYSV_umount        (__NR_SYSV +  22)
  294. #define __NR_SYSV_setuid        (__NR_SYSV +  23)
  295. #define __NR_SYSV_getuid        (__NR_SYSV +  24)
  296. #define __NR_SYSV_stime            (__NR_SYSV +  25)
  297. #define __NR_SYSV_ptrace        (__NR_SYSV +  26)
  298. #define __NR_SYSV_alarm            (__NR_SYSV +  27)
  299. #define __NR_SYSV_fstat            (__NR_SYSV +  28)
  300. #define __NR_SYSV_pause            (__NR_SYSV +  29)
  301. #define __NR_SYSV_utime            (__NR_SYSV +  30)
  302. #define __NR_SYSV_stty            (__NR_SYSV +  31)
  303. #define __NR_SYSV_gtty            (__NR_SYSV +  32)
  304. #define __NR_SYSV_access        (__NR_SYSV +  33)
  305. #define __NR_SYSV_nice            (__NR_SYSV +  34)
  306. #define __NR_SYSV_statfs        (__NR_SYSV +  35)
  307. #define __NR_SYSV_sync            (__NR_SYSV +  36)
  308. #define __NR_SYSV_kill            (__NR_SYSV +  37)
  309. #define __NR_SYSV_fstatfs        (__NR_SYSV +  38)
  310. #define __NR_SYSV_setpgrp        (__NR_SYSV +  39)
  311. #define __NR_SYSV_syssgi        (__NR_SYSV +  40)
  312. #define __NR_SYSV_dup            (__NR_SYSV +  41)
  313. #define __NR_SYSV_pipe            (__NR_SYSV +  42)
  314. #define __NR_SYSV_times            (__NR_SYSV +  43)
  315. #define __NR_SYSV_profil        (__NR_SYSV +  44)
  316. #define __NR_SYSV_plock            (__NR_SYSV +  45)
  317. #define __NR_SYSV_setgid        (__NR_SYSV +  46)
  318. #define __NR_SYSV_getgid        (__NR_SYSV +  47)
  319. #define __NR_SYSV_sig            (__NR_SYSV +  48)
  320. #define __NR_SYSV_msgsys        (__NR_SYSV +  49)
  321. #define __NR_SYSV_sysmips        (__NR_SYSV +  50)
  322. #define __NR_SYSV_acct            (__NR_SYSV +  51)
  323. #define __NR_SYSV_shmsys        (__NR_SYSV +  52)
  324. #define __NR_SYSV_semsys        (__NR_SYSV +  53)
  325. #define __NR_SYSV_ioctl            (__NR_SYSV +  54)
  326. #define __NR_SYSV_uadmin        (__NR_SYSV +  55)
  327. #define __NR_SYSV_sysmp            (__NR_SYSV +  56)
  328. #define __NR_SYSV_utssys        (__NR_SYSV +  57)
  329. #define __NR_SYSV_USG_reserved1        (__NR_SYSV +  58)
  330. #define __NR_SYSV_execve        (__NR_SYSV +  59)
  331. #define __NR_SYSV_umask            (__NR_SYSV +  60)
  332. #define __NR_SYSV_chroot        (__NR_SYSV +  61)
  333. #define __NR_SYSV_fcntl            (__NR_SYSV +  62)
  334. #define __NR_SYSV_ulimit        (__NR_SYSV +  63)
  335. #define __NR_SYSV_SAFARI4_reserved1    (__NR_SYSV +  64)
  336. #define __NR_SYSV_SAFARI4_reserved2    (__NR_SYSV +  65)
  337. #define __NR_SYSV_SAFARI4_reserved3    (__NR_SYSV +  66)
  338. #define __NR_SYSV_SAFARI4_reserved4    (__NR_SYSV +  67)
  339. #define __NR_SYSV_SAFARI4_reserved5    (__NR_SYSV +  68)
  340. #define __NR_SYSV_SAFARI4_reserved6    (__NR_SYSV +  69)
  341. #define __NR_SYSV_advfs            (__NR_SYSV +  70)
  342. #define __NR_SYSV_unadvfs        (__NR_SYSV +  71)
  343. #define __NR_SYSV_rmount        (__NR_SYSV +  72)
  344. #define __NR_SYSV_rumount        (__NR_SYSV +  73)
  345. #define __NR_SYSV_rfstart        (__NR_SYSV +  74)
  346. #define __NR_SYSV_getrlimit64        (__NR_SYSV +  75)
  347. #define __NR_SYSV_setrlimit64        (__NR_SYSV +  76)
  348. #define __NR_SYSV_nanosleep        (__NR_SYSV +  77)
  349. #define __NR_SYSV_lseek64        (__NR_SYSV +  78)
  350. #define __NR_SYSV_rmdir            (__NR_SYSV +  79)
  351. #define __NR_SYSV_mkdir            (__NR_SYSV +  80)
  352. #define __NR_SYSV_getdents        (__NR_SYSV +  81)
  353. #define __NR_SYSV_sginap        (__NR_SYSV +  82)
  354. #define __NR_SYSV_sgikopt        (__NR_SYSV +  83)
  355. #define __NR_SYSV_sysfs            (__NR_SYSV +  84)
  356. #define __NR_SYSV_getmsg        (__NR_SYSV +  85)
  357. #define __NR_SYSV_putmsg        (__NR_SYSV +  86)
  358. #define __NR_SYSV_poll            (__NR_SYSV +  87)
  359. #define __NR_SYSV_sigreturn        (__NR_SYSV +  88)
  360. #define __NR_SYSV_accept        (__NR_SYSV +  89)
  361. #define __NR_SYSV_bind            (__NR_SYSV +  90)
  362. #define __NR_SYSV_connect        (__NR_SYSV +  91)
  363. #define __NR_SYSV_gethostid        (__NR_SYSV +  92)
  364. #define __NR_SYSV_getpeername        (__NR_SYSV +  93)
  365. #define __NR_SYSV_getsockname        (__NR_SYSV +  94)
  366. #define __NR_SYSV_getsockopt        (__NR_SYSV +  95)
  367. #define __NR_SYSV_listen        (__NR_SYSV +  96)
  368. #define __NR_SYSV_recv            (__NR_SYSV +  97)
  369. #define __NR_SYSV_recvfrom        (__NR_SYSV +  98)
  370. #define __NR_SYSV_recvmsg        (__NR_SYSV +  99)
  371. #define __NR_SYSV_select        (__NR_SYSV + 100)
  372. #define __NR_SYSV_send            (__NR_SYSV + 101)
  373. #define __NR_SYSV_sendmsg        (__NR_SYSV + 102)
  374. #define __NR_SYSV_sendto        (__NR_SYSV + 103)
  375. #define __NR_SYSV_sethostid        (__NR_SYSV + 104)
  376. #define __NR_SYSV_setsockopt        (__NR_SYSV + 105)
  377. #define __NR_SYSV_shutdown        (__NR_SYSV + 106)
  378. #define __NR_SYSV_socket        (__NR_SYSV + 107)
  379. #define __NR_SYSV_gethostname        (__NR_SYSV + 108)
  380. #define __NR_SYSV_sethostname        (__NR_SYSV + 109)
  381. #define __NR_SYSV_getdomainname        (__NR_SYSV + 110)
  382. #define __NR_SYSV_setdomainname        (__NR_SYSV + 111)
  383. #define __NR_SYSV_truncate        (__NR_SYSV + 112)
  384. #define __NR_SYSV_ftruncate        (__NR_SYSV + 113)
  385. #define __NR_SYSV_rename        (__NR_SYSV + 114)
  386. #define __NR_SYSV_symlink        (__NR_SYSV + 115)
  387. #define __NR_SYSV_readlink        (__NR_SYSV + 116)
  388. #define __NR_SYSV_lstat            (__NR_SYSV + 117)
  389. #define __NR_SYSV_nfsmount        (__NR_SYSV + 118)
  390. #define __NR_SYSV_nfssvc        (__NR_SYSV + 119)
  391. #define __NR_SYSV_getfh            (__NR_SYSV + 120)
  392. #define __NR_SYSV_async_daemon        (__NR_SYSV + 121)
  393. #define __NR_SYSV_exportfs        (__NR_SYSV + 122)
  394. #define __NR_SYSV_setregid        (__NR_SYSV + 123)
  395. #define __NR_SYSV_setreuid        (__NR_SYSV + 124)
  396. #define __NR_SYSV_getitimer        (__NR_SYSV + 125)
  397. #define __NR_SYSV_setitimer        (__NR_SYSV + 126)
  398. #define __NR_SYSV_adjtime        (__NR_SYSV + 127)
  399. #define __NR_SYSV_BSD_getime        (__NR_SYSV + 128)
  400. #define __NR_SYSV_sproc            (__NR_SYSV + 129)
  401. #define __NR_SYSV_prctl            (__NR_SYSV + 130)
  402. #define __NR_SYSV_procblk        (__NR_SYSV + 131)
  403. #define __NR_SYSV_sprocsp        (__NR_SYSV + 132)
  404. #define __NR_SYSV_sgigsc        (__NR_SYSV + 133)
  405. #define __NR_SYSV_mmap            (__NR_SYSV + 134)
  406. #define __NR_SYSV_munmap        (__NR_SYSV + 135)
  407. #define __NR_SYSV_mprotect        (__NR_SYSV + 136)
  408. #define __NR_SYSV_msync            (__NR_SYSV + 137)
  409. #define __NR_SYSV_madvise        (__NR_SYSV + 138)
  410. #define __NR_SYSV_pagelock        (__NR_SYSV + 139)
  411. #define __NR_SYSV_getpagesize        (__NR_SYSV + 140)
  412. #define __NR_SYSV_quotactl        (__NR_SYSV + 141)
  413. #define __NR_SYSV_libdetach        (__NR_SYSV + 142)
  414. #define __NR_SYSV_BSDgetpgrp        (__NR_SYSV + 143)
  415. #define __NR_SYSV_BSDsetpgrp        (__NR_SYSV + 144)
  416. #define __NR_SYSV_vhangup        (__NR_SYSV + 145)
  417. #define __NR_SYSV_fsync            (__NR_SYSV + 146)
  418. #define __NR_SYSV_fchdir        (__NR_SYSV + 147)
  419. #define __NR_SYSV_getrlimit        (__NR_SYSV + 148)
  420. #define __NR_SYSV_setrlimit        (__NR_SYSV + 149)
  421. #define __NR_SYSV_cacheflush        (__NR_SYSV + 150)
  422. #define __NR_SYSV_cachectl        (__NR_SYSV + 151)
  423. #define __NR_SYSV_fchown        (__NR_SYSV + 152)
  424. #define __NR_SYSV_fchmod        (__NR_SYSV + 153)
  425. #define __NR_SYSV_wait3            (__NR_SYSV + 154)
  426. #define __NR_SYSV_socketpair        (__NR_SYSV + 155)
  427. #define __NR_SYSV_sysinfo        (__NR_SYSV + 156)
  428. #define __NR_SYSV_nuname        (__NR_SYSV + 157)
  429. #define __NR_SYSV_xstat            (__NR_SYSV + 158)
  430. #define __NR_SYSV_lxstat        (__NR_SYSV + 159)
  431. #define __NR_SYSV_fxstat        (__NR_SYSV + 160)
  432. #define __NR_SYSV_xmknod        (__NR_SYSV + 161)
  433. #define __NR_SYSV_ksigaction        (__NR_SYSV + 162)
  434. #define __NR_SYSV_sigpending        (__NR_SYSV + 163)
  435. #define __NR_SYSV_sigprocmask        (__NR_SYSV + 164)
  436. #define __NR_SYSV_sigsuspend        (__NR_SYSV + 165)
  437. #define __NR_SYSV_sigpoll        (__NR_SYSV + 166)
  438. #define __NR_SYSV_swapctl        (__NR_SYSV + 167)
  439. #define __NR_SYSV_getcontext        (__NR_SYSV + 168)
  440. #define __NR_SYSV_setcontext        (__NR_SYSV + 169)
  441. #define __NR_SYSV_waitsys        (__NR_SYSV + 170)
  442. #define __NR_SYSV_sigstack        (__NR_SYSV + 171)
  443. #define __NR_SYSV_sigaltstack        (__NR_SYSV + 172)
  444. #define __NR_SYSV_sigsendset        (__NR_SYSV + 173)
  445. #define __NR_SYSV_statvfs        (__NR_SYSV + 174)
  446. #define __NR_SYSV_fstatvfs        (__NR_SYSV + 175)
  447. #define __NR_SYSV_getpmsg        (__NR_SYSV + 176)
  448. #define __NR_SYSV_putpmsg        (__NR_SYSV + 177)
  449. #define __NR_SYSV_lchown        (__NR_SYSV + 178)
  450. #define __NR_SYSV_priocntl        (__NR_SYSV + 179)
  451. #define __NR_SYSV_ksigqueue        (__NR_SYSV + 180)
  452. #define __NR_SYSV_readv            (__NR_SYSV + 181)
  453. #define __NR_SYSV_writev        (__NR_SYSV + 182)
  454. #define __NR_SYSV_truncate64        (__NR_SYSV + 183)
  455. #define __NR_SYSV_ftruncate64        (__NR_SYSV + 184)
  456. #define __NR_SYSV_mmap64        (__NR_SYSV + 185)
  457. #define __NR_SYSV_dmi            (__NR_SYSV + 186)
  458. #define __NR_SYSV_pread            (__NR_SYSV + 187)
  459. #define __NR_SYSV_pwrite        (__NR_SYSV + 188)
  460.  
  461. /*
  462.  * BSD 4.3 syscalls are in the range from 2000 to 2999
  463.  */
  464. #define __NR_BSD43            2000
  465. #define __NR_BSD43_syscall        (__NR_BSD43 +   0)
  466. #define __NR_BSD43_exit            (__NR_BSD43 +   1)
  467. #define __NR_BSD43_fork            (__NR_BSD43 +   2)
  468. #define __NR_BSD43_read            (__NR_BSD43 +   3)
  469. #define __NR_BSD43_write        (__NR_BSD43 +   4)
  470. #define __NR_BSD43_open            (__NR_BSD43 +   5)
  471. #define __NR_BSD43_close        (__NR_BSD43 +   6)
  472. #define __NR_BSD43_wait            (__NR_BSD43 +   7)
  473. #define __NR_BSD43_creat        (__NR_BSD43 +   8)
  474. #define __NR_BSD43_link            (__NR_BSD43 +   9)
  475. #define __NR_BSD43_unlink        (__NR_BSD43 +  10)
  476. #define __NR_BSD43_exec            (__NR_BSD43 +  11)
  477. #define __NR_BSD43_chdir        (__NR_BSD43 +  12)
  478. #define __NR_BSD43_time            (__NR_BSD43 +  13)
  479. #define __NR_BSD43_mknod        (__NR_BSD43 +  14)
  480. #define __NR_BSD43_chmod        (__NR_BSD43 +  15)
  481. #define __NR_BSD43_chown        (__NR_BSD43 +  16)
  482. #define __NR_BSD43_sbreak        (__NR_BSD43 +  17)
  483. #define __NR_BSD43_oldstat        (__NR_BSD43 +  18)
  484. #define __NR_BSD43_lseek        (__NR_BSD43 +  19)
  485. #define __NR_BSD43_getpid        (__NR_BSD43 +  20)
  486. #define __NR_BSD43_oldmount        (__NR_BSD43 +  21)
  487. #define __NR_BSD43_umount        (__NR_BSD43 +  22)
  488. #define __NR_BSD43_setuid        (__NR_BSD43 +  23)
  489. #define __NR_BSD43_getuid        (__NR_BSD43 +  24)
  490. #define __NR_BSD43_stime        (__NR_BSD43 +  25)
  491. #define __NR_BSD43_ptrace        (__NR_BSD43 +  26)
  492. #define __NR_BSD43_alarm        (__NR_BSD43 +  27)
  493. #define __NR_BSD43_oldfstat        (__NR_BSD43 +  28)
  494. #define __NR_BSD43_pause        (__NR_BSD43 +  29)
  495. #define __NR_BSD43_utime        (__NR_BSD43 +  30)
  496. #define __NR_BSD43_stty            (__NR_BSD43 +  31)
  497. #define __NR_BSD43_gtty            (__NR_BSD43 +  32)
  498. #define __NR_BSD43_access        (__NR_BSD43 +  33)
  499. #define __NR_BSD43_nice            (__NR_BSD43 +  34)
  500. #define __NR_BSD43_ftime        (__NR_BSD43 +  35)
  501. #define __NR_BSD43_sync            (__NR_BSD43 +  36)
  502. #define __NR_BSD43_kill            (__NR_BSD43 +  37)
  503. #define __NR_BSD43_stat            (__NR_BSD43 +  38)
  504. #define __NR_BSD43_oldsetpgrp        (__NR_BSD43 +  39)
  505. #define __NR_BSD43_lstat        (__NR_BSD43 +  40)
  506. #define __NR_BSD43_dup            (__NR_BSD43 +  41)
  507. #define __NR_BSD43_pipe            (__NR_BSD43 +  42)
  508. #define __NR_BSD43_times        (__NR_BSD43 +  43)
  509. #define __NR_BSD43_profil        (__NR_BSD43 +  44)
  510. #define __NR_BSD43_msgsys        (__NR_BSD43 +  45)
  511. #define __NR_BSD43_setgid        (__NR_BSD43 +  46)
  512. #define __NR_BSD43_getgid        (__NR_BSD43 +  47)
  513. #define __NR_BSD43_ssig            (__NR_BSD43 +  48)
  514. #define __NR_BSD43_reserved1        (__NR_BSD43 +  49)
  515. #define __NR_BSD43_reserved2        (__NR_BSD43 +  50)
  516. #define __NR_BSD43_sysacct        (__NR_BSD43 +  51)
  517. #define __NR_BSD43_phys            (__NR_BSD43 +  52)
  518. #define __NR_BSD43_lock            (__NR_BSD43 +  53)
  519. #define __NR_BSD43_ioctl        (__NR_BSD43 +  54)
  520. #define __NR_BSD43_reboot        (__NR_BSD43 +  55)
  521. #define __NR_BSD43_mpxchan        (__NR_BSD43 +  56)
  522. #define __NR_BSD43_symlink        (__NR_BSD43 +  57)
  523. #define __NR_BSD43_readlink        (__NR_BSD43 +  58)
  524. #define __NR_BSD43_execve        (__NR_BSD43 +  59)
  525. #define __NR_BSD43_umask        (__NR_BSD43 +  60)
  526. #define __NR_BSD43_chroot        (__NR_BSD43 +  61)
  527. #define __NR_BSD43_fstat        (__NR_BSD43 +  62)
  528. #define __NR_BSD43_reserved3        (__NR_BSD43 +  63)
  529. #define __NR_BSD43_getpagesize        (__NR_BSD43 +  64)
  530. #define __NR_BSD43_mremap        (__NR_BSD43 +  65)
  531. #define __NR_BSD43_vfork        (__NR_BSD43 +  66)
  532. #define __NR_BSD43_vread        (__NR_BSD43 +  67)
  533. #define __NR_BSD43_vwrite        (__NR_BSD43 +  68)
  534. #define __NR_BSD43_sbrk            (__NR_BSD43 +  69)
  535. #define __NR_BSD43_sstk            (__NR_BSD43 +  70)
  536. #define __NR_BSD43_mmap            (__NR_BSD43 +  71)
  537. #define __NR_BSD43_vadvise        (__NR_BSD43 +  72)
  538. #define __NR_BSD43_munmap        (__NR_BSD43 +  73)
  539. #define __NR_BSD43_mprotect        (__NR_BSD43 +  74)
  540. #define __NR_BSD43_madvise        (__NR_BSD43 +  75)
  541. #define __NR_BSD43_vhangup        (__NR_BSD43 +  76)
  542. #define __NR_BSD43_vlimit        (__NR_BSD43 +  77)
  543. #define __NR_BSD43_mincore        (__NR_BSD43 +  78)
  544. #define __NR_BSD43_getgroups        (__NR_BSD43 +  79)
  545. #define __NR_BSD43_setgroups        (__NR_BSD43 +  80)
  546. #define __NR_BSD43_getpgrp        (__NR_BSD43 +  81)
  547. #define __NR_BSD43_setpgrp        (__NR_BSD43 +  82)
  548. #define __NR_BSD43_setitimer        (__NR_BSD43 +  83)
  549. #define __NR_BSD43_wait3        (__NR_BSD43 +  84)
  550. #define __NR_BSD43_swapon        (__NR_BSD43 +  85)
  551. #define __NR_BSD43_getitimer        (__NR_BSD43 +  86)
  552. #define __NR_BSD43_gethostname        (__NR_BSD43 +  87)
  553. #define __NR_BSD43_sethostname        (__NR_BSD43 +  88)
  554. #define __NR_BSD43_getdtablesize    (__NR_BSD43 +  89)
  555. #define __NR_BSD43_dup2            (__NR_BSD43 +  90)
  556. #define __NR_BSD43_getdopt        (__NR_BSD43 +  91)
  557. #define __NR_BSD43_fcntl        (__NR_BSD43 +  92)
  558. #define __NR_BSD43_select        (__NR_BSD43 +  93)
  559. #define __NR_BSD43_setdopt        (__NR_BSD43 +  94)
  560. #define __NR_BSD43_fsync        (__NR_BSD43 +  95)
  561. #define __NR_BSD43_setpriority        (__NR_BSD43 +  96)
  562. #define __NR_BSD43_socket        (__NR_BSD43 +  97)
  563. #define __NR_BSD43_connect        (__NR_BSD43 +  98)
  564. #define __NR_BSD43_oldaccept        (__NR_BSD43 +  99)
  565. #define __NR_BSD43_getpriority        (__NR_BSD43 + 100)
  566. #define __NR_BSD43_send            (__NR_BSD43 + 101)
  567. #define __NR_BSD43_recv            (__NR_BSD43 + 102)
  568. #define __NR_BSD43_sigreturn        (__NR_BSD43 + 103)
  569. #define __NR_BSD43_bind            (__NR_BSD43 + 104)
  570. #define __NR_BSD43_setsockopt        (__NR_BSD43 + 105)
  571. #define __NR_BSD43_listen        (__NR_BSD43 + 106)
  572. #define __NR_BSD43_vtimes        (__NR_BSD43 + 107)
  573. #define __NR_BSD43_sigvec        (__NR_BSD43 + 108)
  574. #define __NR_BSD43_sigblock        (__NR_BSD43 + 109)
  575. #define __NR_BSD43_sigsetmask        (__NR_BSD43 + 110)
  576. #define __NR_BSD43_sigpause        (__NR_BSD43 + 111)
  577. #define __NR_BSD43_sigstack        (__NR_BSD43 + 112)
  578. #define __NR_BSD43_oldrecvmsg        (__NR_BSD43 + 113)
  579. #define __NR_BSD43_oldsendmsg        (__NR_BSD43 + 114)
  580. #define __NR_BSD43_vtrace        (__NR_BSD43 + 115)
  581. #define __NR_BSD43_gettimeofday        (__NR_BSD43 + 116)
  582. #define __NR_BSD43_getrusage        (__NR_BSD43 + 117)
  583. #define __NR_BSD43_getsockopt        (__NR_BSD43 + 118)
  584. #define __NR_BSD43_reserved4        (__NR_BSD43 + 119)
  585. #define __NR_BSD43_readv        (__NR_BSD43 + 120)
  586. #define __NR_BSD43_writev        (__NR_BSD43 + 121)
  587. #define __NR_BSD43_settimeofday        (__NR_BSD43 + 122)
  588. #define __NR_BSD43_fchown        (__NR_BSD43 + 123)
  589. #define __NR_BSD43_fchmod        (__NR_BSD43 + 124)
  590. #define __NR_BSD43_oldrecvfrom        (__NR_BSD43 + 125)
  591. #define __NR_BSD43_setreuid        (__NR_BSD43 + 126)
  592. #define __NR_BSD43_setregid        (__NR_BSD43 + 127)
  593. #define __NR_BSD43_rename        (__NR_BSD43 + 128)
  594. #define __NR_BSD43_truncate        (__NR_BSD43 + 129)
  595. #define __NR_BSD43_ftruncate        (__NR_BSD43 + 130)
  596. #define __NR_BSD43_flock        (__NR_BSD43 + 131)
  597. #define __NR_BSD43_semsys        (__NR_BSD43 + 132)
  598. #define __NR_BSD43_sendto        (__NR_BSD43 + 133)
  599. #define __NR_BSD43_shutdown        (__NR_BSD43 + 134)
  600. #define __NR_BSD43_socketpair        (__NR_BSD43 + 135)
  601. #define __NR_BSD43_mkdir        (__NR_BSD43 + 136)
  602. #define __NR_BSD43_rmdir        (__NR_BSD43 + 137)
  603. #define __NR_BSD43_utimes        (__NR_BSD43 + 138)
  604. #define __NR_BSD43_sigcleanup        (__NR_BSD43 + 139)
  605. #define __NR_BSD43_adjtime        (__NR_BSD43 + 140)
  606. #define __NR_BSD43_oldgetpeername    (__NR_BSD43 + 141)
  607. #define __NR_BSD43_gethostid        (__NR_BSD43 + 142)
  608. #define __NR_BSD43_sethostid        (__NR_BSD43 + 143)
  609. #define __NR_BSD43_getrlimit        (__NR_BSD43 + 144)
  610. #define __NR_BSD43_setrlimit        (__NR_BSD43 + 145)
  611. #define __NR_BSD43_killpg        (__NR_BSD43 + 146)
  612. #define __NR_BSD43_shmsys        (__NR_BSD43 + 147)
  613. #define __NR_BSD43_quota        (__NR_BSD43 + 148)
  614. #define __NR_BSD43_qquota        (__NR_BSD43 + 149)
  615. #define __NR_BSD43_oldgetsockname    (__NR_BSD43 + 150)
  616. #define __NR_BSD43_sysmips        (__NR_BSD43 + 151)
  617. #define __NR_BSD43_cacheflush        (__NR_BSD43 + 152)
  618. #define __NR_BSD43_cachectl        (__NR_BSD43 + 153)
  619. #define __NR_BSD43_debug        (__NR_BSD43 + 154)
  620. #define __NR_BSD43_reserved5        (__NR_BSD43 + 155)
  621. #define __NR_BSD43_reserved6        (__NR_BSD43 + 156)
  622. #define __NR_BSD43_nfs_mount        (__NR_BSD43 + 157)
  623. #define __NR_BSD43_nfs_svc        (__NR_BSD43 + 158)
  624. #define __NR_BSD43_getdirentries    (__NR_BSD43 + 159)
  625. #define __NR_BSD43_statfs        (__NR_BSD43 + 160)
  626. #define __NR_BSD43_fstatfs        (__NR_BSD43 + 161)
  627. #define __NR_BSD43_unmount        (__NR_BSD43 + 162)
  628. #define __NR_BSD43_async_daemon        (__NR_BSD43 + 163)
  629. #define __NR_BSD43_nfs_getfh        (__NR_BSD43 + 164)
  630. #define __NR_BSD43_getdomainname    (__NR_BSD43 + 165)
  631. #define __NR_BSD43_setdomainname    (__NR_BSD43 + 166)
  632. #define __NR_BSD43_pcfs_mount        (__NR_BSD43 + 167)
  633. #define __NR_BSD43_quotactl        (__NR_BSD43 + 168)
  634. #define __NR_BSD43_oldexportfs        (__NR_BSD43 + 169)
  635. #define __NR_BSD43_smount        (__NR_BSD43 + 170)
  636. #define __NR_BSD43_mipshwconf        (__NR_BSD43 + 171)
  637. #define __NR_BSD43_exportfs        (__NR_BSD43 + 172)
  638. #define __NR_BSD43_nfsfh_open        (__NR_BSD43 + 173)
  639. #define __NR_BSD43_libattach        (__NR_BSD43 + 174)
  640. #define __NR_BSD43_libdetach        (__NR_BSD43 + 175)
  641. #define __NR_BSD43_accept        (__NR_BSD43 + 176)
  642. #define __NR_BSD43_reserved7        (__NR_BSD43 + 177)
  643. #define __NR_BSD43_reserved8        (__NR_BSD43 + 178)
  644. #define __NR_BSD43_recvmsg        (__NR_BSD43 + 179)
  645. #define __NR_BSD43_recvfrom        (__NR_BSD43 + 180)
  646. #define __NR_BSD43_sendmsg        (__NR_BSD43 + 181)
  647. #define __NR_BSD43_getpeername        (__NR_BSD43 + 182)
  648. #define __NR_BSD43_getsockname        (__NR_BSD43 + 183)
  649. #define __NR_BSD43_aread        (__NR_BSD43 + 184)
  650. #define __NR_BSD43_awrite        (__NR_BSD43 + 185)
  651. #define __NR_BSD43_listio        (__NR_BSD43 + 186)
  652. #define __NR_BSD43_acancel        (__NR_BSD43 + 187)
  653. #define __NR_BSD43_astatus        (__NR_BSD43 + 188)
  654. #define __NR_BSD43_await        (__NR_BSD43 + 189)
  655. #define __NR_BSD43_areadv        (__NR_BSD43 + 190)
  656. #define __NR_BSD43_awritev        (__NR_BSD43 + 191)
  657.  
  658. /*
  659.  * POSIX syscalls are in the range from 3000 to 3999
  660.  */
  661. #define __NR_POSIX            3000
  662. #define __NR_POSIX_syscall        (__NR_POSIX +   0)
  663. #define __NR_POSIX_exit            (__NR_POSIX +   1)
  664. #define __NR_POSIX_fork            (__NR_POSIX +   2)
  665. #define __NR_POSIX_read            (__NR_POSIX +   3)
  666. #define __NR_POSIX_write        (__NR_POSIX +   4)
  667. #define __NR_POSIX_open            (__NR_POSIX +   5)
  668. #define __NR_POSIX_close        (__NR_POSIX +   6)
  669. #define __NR_POSIX_wait            (__NR_POSIX +   7)
  670. #define __NR_POSIX_creat        (__NR_POSIX +   8)
  671. #define __NR_POSIX_link            (__NR_POSIX +   9)
  672. #define __NR_POSIX_unlink        (__NR_POSIX +  10)
  673. #define __NR_POSIX_exec            (__NR_POSIX +  11)
  674. #define __NR_POSIX_chdir        (__NR_POSIX +  12)
  675. #define __NR_POSIX_gtime        (__NR_POSIX +  13)
  676. #define __NR_POSIX_mknod        (__NR_POSIX +  14)
  677. #define __NR_POSIX_chmod        (__NR_POSIX +  15)
  678. #define __NR_POSIX_chown        (__NR_POSIX +  16)
  679. #define __NR_POSIX_sbreak        (__NR_POSIX +  17)
  680. #define __NR_POSIX_stat            (__NR_POSIX +  18)
  681. #define __NR_POSIX_lseek        (__NR_POSIX +  19)
  682. #define __NR_POSIX_getpid        (__NR_POSIX +  20)
  683. #define __NR_POSIX_mount        (__NR_POSIX +  21)
  684. #define __NR_POSIX_umount        (__NR_POSIX +  22)
  685. #define __NR_POSIX_setuid        (__NR_POSIX +  23)
  686. #define __NR_POSIX_getuid        (__NR_POSIX +  24)
  687. #define __NR_POSIX_stime        (__NR_POSIX +  25)
  688. #define __NR_POSIX_ptrace        (__NR_POSIX +  26)
  689. #define __NR_POSIX_alarm        (__NR_POSIX +  27)
  690. #define __NR_POSIX_fstat        (__NR_POSIX +  28)
  691. #define __NR_POSIX_pause        (__NR_POSIX +  29)
  692. #define __NR_POSIX_utime        (__NR_POSIX +  30)
  693. #define __NR_POSIX_stty            (__NR_POSIX +  31)
  694. #define __NR_POSIX_gtty            (__NR_POSIX +  32)
  695. #define __NR_POSIX_access        (__NR_POSIX +  33)
  696. #define __NR_POSIX_nice            (__NR_POSIX +  34)
  697. #define __NR_POSIX_statfs        (__NR_POSIX +  35)
  698. #define __NR_POSIX_sync            (__NR_POSIX +  36)
  699. #define __NR_POSIX_kill            (__NR_POSIX +  37)
  700. #define __NR_POSIX_fstatfs        (__NR_POSIX +  38)
  701. #define __NR_POSIX_getpgrp        (__NR_POSIX +  39)
  702. #define __NR_POSIX_syssgi        (__NR_POSIX +  40)
  703. #define __NR_POSIX_dup            (__NR_POSIX +  41)
  704. #define __NR_POSIX_pipe            (__NR_POSIX +  42)
  705. #define __NR_POSIX_times        (__NR_POSIX +  43)
  706. #define __NR_POSIX_profil        (__NR_POSIX +  44)
  707. #define __NR_POSIX_lock            (__NR_POSIX +  45)
  708. #define __NR_POSIX_setgid        (__NR_POSIX +  46)
  709. #define __NR_POSIX_getgid        (__NR_POSIX +  47)
  710. #define __NR_POSIX_sig            (__NR_POSIX +  48)
  711. #define __NR_POSIX_msgsys        (__NR_POSIX +  49)
  712. #define __NR_POSIX_sysmips        (__NR_POSIX +  50)
  713. #define __NR_POSIX_sysacct        (__NR_POSIX +  51)
  714. #define __NR_POSIX_shmsys        (__NR_POSIX +  52)
  715. #define __NR_POSIX_semsys        (__NR_POSIX +  53)
  716. #define __NR_POSIX_ioctl        (__NR_POSIX +  54)
  717. #define __NR_POSIX_uadmin        (__NR_POSIX +  55)
  718. #define __NR_POSIX_exch            (__NR_POSIX +  56)
  719. #define __NR_POSIX_utssys        (__NR_POSIX +  57)
  720. #define __NR_POSIX_USG_reserved1    (__NR_POSIX +  58)
  721. #define __NR_POSIX_exece        (__NR_POSIX +  59)
  722. #define __NR_POSIX_umask        (__NR_POSIX +  60)
  723. #define __NR_POSIX_chroot        (__NR_POSIX +  61)
  724. #define __NR_POSIX_fcntl        (__NR_POSIX +  62)
  725. #define __NR_POSIX_ulimit        (__NR_POSIX +  63)
  726. #define __NR_POSIX_SAFARI4_reserved1    (__NR_POSIX +  64)
  727. #define __NR_POSIX_SAFARI4_reserved2    (__NR_POSIX +  65)
  728. #define __NR_POSIX_SAFARI4_reserved3    (__NR_POSIX +  66)
  729. #define __NR_POSIX_SAFARI4_reserved4    (__NR_POSIX +  67)
  730. #define __NR_POSIX_SAFARI4_reserved5    (__NR_POSIX +  68)
  731. #define __NR_POSIX_SAFARI4_reserved6    (__NR_POSIX +  69)
  732. #define __NR_POSIX_advfs        (__NR_POSIX +  70)
  733. #define __NR_POSIX_unadvfs        (__NR_POSIX +  71)
  734. #define __NR_POSIX_rmount        (__NR_POSIX +  72)
  735. #define __NR_POSIX_rumount        (__NR_POSIX +  73)
  736. #define __NR_POSIX_rfstart        (__NR_POSIX +  74)
  737. #define __NR_POSIX_reserved1        (__NR_POSIX +  75)
  738. #define __NR_POSIX_rdebug        (__NR_POSIX +  76)
  739. #define __NR_POSIX_rfstop        (__NR_POSIX +  77)
  740. #define __NR_POSIX_rfsys        (__NR_POSIX +  78)
  741. #define __NR_POSIX_rmdir        (__NR_POSIX +  79)
  742. #define __NR_POSIX_mkdir        (__NR_POSIX +  80)
  743. #define __NR_POSIX_getdents        (__NR_POSIX +  81)
  744. #define __NR_POSIX_sginap        (__NR_POSIX +  82)
  745. #define __NR_POSIX_sgikopt        (__NR_POSIX +  83)
  746. #define __NR_POSIX_sysfs        (__NR_POSIX +  84)
  747. #define __NR_POSIX_getmsg        (__NR_POSIX +  85)
  748. #define __NR_POSIX_putmsg        (__NR_POSIX +  86)
  749. #define __NR_POSIX_poll            (__NR_POSIX +  87)
  750. #define __NR_POSIX_sigreturn        (__NR_POSIX +  88)
  751. #define __NR_POSIX_accept        (__NR_POSIX +  89)
  752. #define __NR_POSIX_bind            (__NR_POSIX +  90)
  753. #define __NR_POSIX_connect        (__NR_POSIX +  91)
  754. #define __NR_POSIX_gethostid        (__NR_POSIX +  92)
  755. #define __NR_POSIX_getpeername        (__NR_POSIX +  93)
  756. #define __NR_POSIX_getsockname        (__NR_POSIX +  94)
  757. #define __NR_POSIX_getsockopt        (__NR_POSIX +  95)
  758. #define __NR_POSIX_listen        (__NR_POSIX +  96)
  759. #define __NR_POSIX_recv            (__NR_POSIX +  97)
  760. #define __NR_POSIX_recvfrom        (__NR_POSIX +  98)
  761. #define __NR_POSIX_recvmsg        (__NR_POSIX +  99)
  762. #define __NR_POSIX_select        (__NR_POSIX + 100)
  763. #define __NR_POSIX_send            (__NR_POSIX + 101)
  764. #define __NR_POSIX_sendmsg        (__NR_POSIX + 102)
  765. #define __NR_POSIX_sendto        (__NR_POSIX + 103)
  766. #define __NR_POSIX_sethostid        (__NR_POSIX + 104)
  767. #define __NR_POSIX_setsockopt        (__NR_POSIX + 105)
  768. #define __NR_POSIX_shutdown        (__NR_POSIX + 106)
  769. #define __NR_POSIX_socket        (__NR_POSIX + 107)
  770. #define __NR_POSIX_gethostname        (__NR_POSIX + 108)
  771. #define __NR_POSIX_sethostname        (__NR_POSIX + 109)
  772. #define __NR_POSIX_getdomainname    (__NR_POSIX + 110)
  773. #define __NR_POSIX_setdomainname    (__NR_POSIX + 111)
  774. #define __NR_POSIX_truncate        (__NR_POSIX + 112)
  775. #define __NR_POSIX_ftruncate        (__NR_POSIX + 113)
  776. #define __NR_POSIX_rename        (__NR_POSIX + 114)
  777. #define __NR_POSIX_symlink        (__NR_POSIX + 115)
  778. #define __NR_POSIX_readlink        (__NR_POSIX + 116)
  779. #define __NR_POSIX_lstat        (__NR_POSIX + 117)
  780. #define __NR_POSIX_nfs_mount        (__NR_POSIX + 118)
  781. #define __NR_POSIX_nfs_svc        (__NR_POSIX + 119)
  782. #define __NR_POSIX_nfs_getfh        (__NR_POSIX + 120)
  783. #define __NR_POSIX_async_daemon        (__NR_POSIX + 121)
  784. #define __NR_POSIX_exportfs        (__NR_POSIX + 122)
  785. #define __NR_POSIX_SGI_setregid        (__NR_POSIX + 123)
  786. #define __NR_POSIX_SGI_setreuid        (__NR_POSIX + 124)
  787. #define __NR_POSIX_getitimer        (__NR_POSIX + 125)
  788. #define __NR_POSIX_setitimer        (__NR_POSIX + 126)
  789. #define __NR_POSIX_adjtime        (__NR_POSIX + 127)
  790. #define __NR_POSIX_SGI_bsdgettime    (__NR_POSIX + 128)
  791. #define __NR_POSIX_SGI_sproc        (__NR_POSIX + 129)
  792. #define __NR_POSIX_SGI_prctl        (__NR_POSIX + 130)
  793. #define __NR_POSIX_SGI_blkproc        (__NR_POSIX + 131)
  794. #define __NR_POSIX_SGI_reserved1    (__NR_POSIX + 132)
  795. #define __NR_POSIX_SGI_sgigsc        (__NR_POSIX + 133)
  796. #define __NR_POSIX_SGI_mmap        (__NR_POSIX + 134)
  797. #define __NR_POSIX_SGI_munmap        (__NR_POSIX + 135)
  798. #define __NR_POSIX_SGI_mprotect        (__NR_POSIX + 136)
  799. #define __NR_POSIX_SGI_msync        (__NR_POSIX + 137)
  800. #define __NR_POSIX_SGI_madvise        (__NR_POSIX + 138)
  801. #define __NR_POSIX_SGI_mpin        (__NR_POSIX + 139)
  802. #define __NR_POSIX_SGI_getpagesize    (__NR_POSIX + 140)
  803. #define __NR_POSIX_SGI_libattach    (__NR_POSIX + 141)
  804. #define __NR_POSIX_SGI_libdetach    (__NR_POSIX + 142)
  805. #define __NR_POSIX_SGI_getpgrp        (__NR_POSIX + 143)
  806. #define __NR_POSIX_SGI_setpgrp        (__NR_POSIX + 144)
  807. #define __NR_POSIX_SGI_reserved2    (__NR_POSIX + 145)
  808. #define __NR_POSIX_SGI_reserved3    (__NR_POSIX + 146)
  809. #define __NR_POSIX_SGI_reserved4    (__NR_POSIX + 147)
  810. #define __NR_POSIX_SGI_reserved5    (__NR_POSIX + 148)
  811. #define __NR_POSIX_SGI_reserved6    (__NR_POSIX + 149)
  812. #define __NR_POSIX_cacheflush        (__NR_POSIX + 150)
  813. #define __NR_POSIX_cachectl        (__NR_POSIX + 151)
  814. #define __NR_POSIX_fchown        (__NR_POSIX + 152)
  815. #define __NR_POSIX_fchmod        (__NR_POSIX + 153)
  816. #define __NR_POSIX_wait3        (__NR_POSIX + 154)
  817. #define __NR_POSIX_mmap            (__NR_POSIX + 155)
  818. #define __NR_POSIX_munmap        (__NR_POSIX + 156)
  819. #define __NR_POSIX_madvise        (__NR_POSIX + 157)
  820. #define __NR_POSIX_BSD_getpagesize    (__NR_POSIX + 158)
  821. #define __NR_POSIX_setreuid        (__NR_POSIX + 159)
  822. #define __NR_POSIX_setregid        (__NR_POSIX + 160)
  823. #define __NR_POSIX_setpgid        (__NR_POSIX + 161)
  824. #define __NR_POSIX_getgroups        (__NR_POSIX + 162)
  825. #define __NR_POSIX_setgroups        (__NR_POSIX + 163)
  826. #define __NR_POSIX_gettimeofday        (__NR_POSIX + 164)
  827. #define __NR_POSIX_getrusage        (__NR_POSIX + 165)
  828. #define __NR_POSIX_getrlimit        (__NR_POSIX + 166)
  829. #define __NR_POSIX_setrlimit        (__NR_POSIX + 167)
  830. #define __NR_POSIX_waitpid        (__NR_POSIX + 168)
  831. #define __NR_POSIX_dup2            (__NR_POSIX + 169)
  832. #define __NR_POSIX_reserved2        (__NR_POSIX + 170)
  833. #define __NR_POSIX_reserved3        (__NR_POSIX + 171)
  834. #define __NR_POSIX_reserved4        (__NR_POSIX + 172)
  835. #define __NR_POSIX_reserved5        (__NR_POSIX + 173)
  836. #define __NR_POSIX_reserved6        (__NR_POSIX + 174)
  837. #define __NR_POSIX_reserved7        (__NR_POSIX + 175)
  838. #define __NR_POSIX_reserved8        (__NR_POSIX + 176)
  839. #define __NR_POSIX_reserved9        (__NR_POSIX + 177)
  840. #define __NR_POSIX_reserved10        (__NR_POSIX + 178)
  841. #define __NR_POSIX_reserved11        (__NR_POSIX + 179)
  842. #define __NR_POSIX_reserved12        (__NR_POSIX + 180)
  843. #define __NR_POSIX_reserved13        (__NR_POSIX + 181)
  844. #define __NR_POSIX_reserved14        (__NR_POSIX + 182)
  845. #define __NR_POSIX_reserved15        (__NR_POSIX + 183)
  846. #define __NR_POSIX_reserved16        (__NR_POSIX + 184)
  847. #define __NR_POSIX_reserved17        (__NR_POSIX + 185)
  848. #define __NR_POSIX_reserved18        (__NR_POSIX + 186)
  849. #define __NR_POSIX_reserved19        (__NR_POSIX + 187)
  850. #define __NR_POSIX_reserved20        (__NR_POSIX + 188)
  851. #define __NR_POSIX_reserved21        (__NR_POSIX + 189)
  852. #define __NR_POSIX_reserved22        (__NR_POSIX + 190)
  853. #define __NR_POSIX_reserved23        (__NR_POSIX + 191)
  854. #define __NR_POSIX_reserved24        (__NR_POSIX + 192)
  855. #define __NR_POSIX_reserved25        (__NR_POSIX + 193)
  856. #define __NR_POSIX_reserved26        (__NR_POSIX + 194)
  857. #define __NR_POSIX_reserved27        (__NR_POSIX + 195)
  858. #define __NR_POSIX_reserved28        (__NR_POSIX + 196)
  859. #define __NR_POSIX_reserved29        (__NR_POSIX + 197)
  860. #define __NR_POSIX_reserved30        (__NR_POSIX + 198)
  861. #define __NR_POSIX_reserved31        (__NR_POSIX + 199)
  862. #define __NR_POSIX_reserved32        (__NR_POSIX + 200)
  863. #define __NR_POSIX_reserved33        (__NR_POSIX + 201)
  864. #define __NR_POSIX_reserved34        (__NR_POSIX + 202)
  865. #define __NR_POSIX_reserved35        (__NR_POSIX + 203)
  866. #define __NR_POSIX_reserved36        (__NR_POSIX + 204)
  867. #define __NR_POSIX_reserved37        (__NR_POSIX + 205)
  868. #define __NR_POSIX_reserved38        (__NR_POSIX + 206)
  869. #define __NR_POSIX_reserved39        (__NR_POSIX + 207)
  870. #define __NR_POSIX_reserved40        (__NR_POSIX + 208)
  871. #define __NR_POSIX_reserved41        (__NR_POSIX + 209)
  872. #define __NR_POSIX_reserved42        (__NR_POSIX + 210)
  873. #define __NR_POSIX_reserved43        (__NR_POSIX + 211)
  874. #define __NR_POSIX_reserved44        (__NR_POSIX + 212)
  875. #define __NR_POSIX_reserved45        (__NR_POSIX + 213)
  876. #define __NR_POSIX_reserved46        (__NR_POSIX + 214)
  877. #define __NR_POSIX_reserved47        (__NR_POSIX + 215)
  878. #define __NR_POSIX_reserved48        (__NR_POSIX + 216)
  879. #define __NR_POSIX_reserved49        (__NR_POSIX + 217)
  880. #define __NR_POSIX_reserved50        (__NR_POSIX + 218)
  881. #define __NR_POSIX_reserved51        (__NR_POSIX + 219)
  882. #define __NR_POSIX_reserved52        (__NR_POSIX + 220)
  883. #define __NR_POSIX_reserved53        (__NR_POSIX + 221)
  884. #define __NR_POSIX_reserved54        (__NR_POSIX + 222)
  885. #define __NR_POSIX_reserved55        (__NR_POSIX + 223)
  886. #define __NR_POSIX_reserved56        (__NR_POSIX + 224)
  887. #define __NR_POSIX_reserved57        (__NR_POSIX + 225)
  888. #define __NR_POSIX_reserved58        (__NR_POSIX + 226)
  889. #define __NR_POSIX_reserved59        (__NR_POSIX + 227)
  890. #define __NR_POSIX_reserved60        (__NR_POSIX + 228)
  891. #define __NR_POSIX_reserved61        (__NR_POSIX + 229)
  892. #define __NR_POSIX_reserved62        (__NR_POSIX + 230)
  893. #define __NR_POSIX_reserved63        (__NR_POSIX + 231)
  894. #define __NR_POSIX_reserved64        (__NR_POSIX + 232)
  895. #define __NR_POSIX_reserved65        (__NR_POSIX + 233)
  896. #define __NR_POSIX_reserved66        (__NR_POSIX + 234)
  897. #define __NR_POSIX_reserved67        (__NR_POSIX + 235)
  898. #define __NR_POSIX_reserved68        (__NR_POSIX + 236)
  899. #define __NR_POSIX_reserved69        (__NR_POSIX + 237)
  900. #define __NR_POSIX_reserved70        (__NR_POSIX + 238)
  901. #define __NR_POSIX_reserved71        (__NR_POSIX + 239)
  902. #define __NR_POSIX_reserved72        (__NR_POSIX + 240)
  903. #define __NR_POSIX_reserved73        (__NR_POSIX + 241)
  904. #define __NR_POSIX_reserved74        (__NR_POSIX + 242)
  905. #define __NR_POSIX_reserved75        (__NR_POSIX + 243)
  906. #define __NR_POSIX_reserved76        (__NR_POSIX + 244)
  907. #define __NR_POSIX_reserved77        (__NR_POSIX + 245)
  908. #define __NR_POSIX_reserved78        (__NR_POSIX + 246)
  909. #define __NR_POSIX_reserved79        (__NR_POSIX + 247)
  910. #define __NR_POSIX_reserved80        (__NR_POSIX + 248)
  911. #define __NR_POSIX_reserved81        (__NR_POSIX + 249)
  912. #define __NR_POSIX_reserved82        (__NR_POSIX + 250)
  913. #define __NR_POSIX_reserved83        (__NR_POSIX + 251)
  914. #define __NR_POSIX_reserved84        (__NR_POSIX + 252)
  915. #define __NR_POSIX_reserved85        (__NR_POSIX + 253)
  916. #define __NR_POSIX_reserved86        (__NR_POSIX + 254)
  917. #define __NR_POSIX_reserved87        (__NR_POSIX + 255)
  918. #define __NR_POSIX_reserved88        (__NR_POSIX + 256)
  919. #define __NR_POSIX_reserved89        (__NR_POSIX + 257)
  920. #define __NR_POSIX_reserved90        (__NR_POSIX + 258)
  921. #define __NR_POSIX_reserved91        (__NR_POSIX + 259)
  922. #define __NR_POSIX_netboot        (__NR_POSIX + 260)
  923. #define __NR_POSIX_netunboot        (__NR_POSIX + 261)
  924. #define __NR_POSIX_rdump        (__NR_POSIX + 262)
  925. #define __NR_POSIX_setsid        (__NR_POSIX + 263)
  926. #define __NR_POSIX_getmaxsig        (__NR_POSIX + 264)
  927. #define __NR_POSIX_sigpending        (__NR_POSIX + 265)
  928. #define __NR_POSIX_sigprocmask        (__NR_POSIX + 266)
  929. #define __NR_POSIX_sigsuspend        (__NR_POSIX + 267)
  930. #define __NR_POSIX_sigaction        (__NR_POSIX + 268)
  931. #define __NR_POSIX_MIPS_reserved1    (__NR_POSIX + 269)
  932. #define __NR_POSIX_MIPS_reserved2    (__NR_POSIX + 270)
  933. #define __NR_POSIX_MIPS_reserved3    (__NR_POSIX + 271)
  934. #define __NR_POSIX_MIPS_reserved4    (__NR_POSIX + 272)
  935. #define __NR_POSIX_MIPS_reserved5    (__NR_POSIX + 273)
  936. #define __NR_POSIX_MIPS_reserved6    (__NR_POSIX + 274)
  937. #define __NR_POSIX_MIPS_reserved7    (__NR_POSIX + 275)
  938. #define __NR_POSIX_MIPS_reserved8    (__NR_POSIX + 276)
  939. #define __NR_POSIX_MIPS_reserved9    (__NR_POSIX + 277)
  940. #define __NR_POSIX_MIPS_reserved10    (__NR_POSIX + 278)
  941. #define __NR_POSIX_MIPS_reserved11    (__NR_POSIX + 279)
  942. #define __NR_POSIX_TANDEM_reserved1    (__NR_POSIX + 280)
  943. #define __NR_POSIX_TANDEM_reserved2    (__NR_POSIX + 281)
  944. #define __NR_POSIX_TANDEM_reserved3    (__NR_POSIX + 282)
  945. #define __NR_POSIX_TANDEM_reserved4    (__NR_POSIX + 283)
  946. #define __NR_POSIX_TANDEM_reserved5    (__NR_POSIX + 284)
  947. #define __NR_POSIX_TANDEM_reserved6    (__NR_POSIX + 285)
  948. #define __NR_POSIX_TANDEM_reserved7    (__NR_POSIX + 286)
  949. #define __NR_POSIX_TANDEM_reserved8    (__NR_POSIX + 287)
  950. #define __NR_POSIX_TANDEM_reserved9    (__NR_POSIX + 288)
  951. #define __NR_POSIX_TANDEM_reserved10    (__NR_POSIX + 289)
  952. #define __NR_POSIX_TANDEM_reserved11    (__NR_POSIX + 290)
  953. #define __NR_POSIX_TANDEM_reserved12    (__NR_POSIX + 291)
  954. #define __NR_POSIX_TANDEM_reserved13    (__NR_POSIX + 292)
  955. #define __NR_POSIX_TANDEM_reserved14    (__NR_POSIX + 293)
  956. #define __NR_POSIX_TANDEM_reserved15    (__NR_POSIX + 294)
  957. #define __NR_POSIX_TANDEM_reserved16    (__NR_POSIX + 295)
  958. #define __NR_POSIX_TANDEM_reserved17    (__NR_POSIX + 296)
  959. #define __NR_POSIX_TANDEM_reserved18    (__NR_POSIX + 297)
  960. #define __NR_POSIX_TANDEM_reserved19    (__NR_POSIX + 298)
  961. #define __NR_POSIX_TANDEM_reserved20    (__NR_POSIX + 299)
  962. #define __NR_POSIX_SGI_reserved7    (__NR_POSIX + 300)
  963. #define __NR_POSIX_SGI_reserved8    (__NR_POSIX + 301)
  964. #define __NR_POSIX_SGI_reserved9    (__NR_POSIX + 302)
  965. #define __NR_POSIX_SGI_reserved10    (__NR_POSIX + 303)
  966. #define __NR_POSIX_SGI_reserved11    (__NR_POSIX + 304)
  967. #define __NR_POSIX_SGI_reserved12    (__NR_POSIX + 305)
  968. #define __NR_POSIX_SGI_reserved13    (__NR_POSIX + 306)
  969. #define __NR_POSIX_SGI_reserved14    (__NR_POSIX + 307)
  970. #define __NR_POSIX_SGI_reserved15    (__NR_POSIX + 308)
  971. #define __NR_POSIX_SGI_reserved16    (__NR_POSIX + 309)
  972. #define __NR_POSIX_SGI_reserved17    (__NR_POSIX + 310)
  973. #define __NR_POSIX_SGI_reserved18    (__NR_POSIX + 311)
  974. #define __NR_POSIX_SGI_reserved19    (__NR_POSIX + 312)
  975. #define __NR_POSIX_SGI_reserved20    (__NR_POSIX + 313)
  976. #define __NR_POSIX_SGI_reserved21    (__NR_POSIX + 314)
  977. #define __NR_POSIX_SGI_reserved22    (__NR_POSIX + 315)
  978. #define __NR_POSIX_SGI_reserved23    (__NR_POSIX + 316)
  979. #define __NR_POSIX_SGI_reserved24    (__NR_POSIX + 317)
  980. #define __NR_POSIX_SGI_reserved25    (__NR_POSIX + 318)
  981. #define __NR_POSIX_SGI_reserved26    (__NR_POSIX + 319)
  982.  
  983. /*
  984.  * Linux syscalls are in the range from 4000 to 4999
  985.  * Hopefully these syscall numbers are unused ...  If not everyone using
  986.  * statically linked binaries is pretty upsh*t.  You've been warned.
  987.  */
  988. #define __NR_Linux            4000
  989. #define __NR_syscall            (__NR_Linux +   0)
  990. #define __NR_exit            (__NR_Linux +   1)
  991. #define __NR_fork            (__NR_Linux +   2)
  992. #define __NR_read            (__NR_Linux +   3)
  993. #define __NR_write            (__NR_Linux +   4)
  994. #define __NR_open            (__NR_Linux +   5)
  995. #define __NR_close            (__NR_Linux +   6)
  996. #define __NR_waitpid            (__NR_Linux +   7)
  997. #define __NR_creat            (__NR_Linux +   8)
  998. #define __NR_link            (__NR_Linux +   9)
  999. #define __NR_unlink            (__NR_Linux +  10)
  1000. #define __NR_execve            (__NR_Linux +  11)
  1001. #define __NR_chdir            (__NR_Linux +  12)
  1002. #define __NR_time            (__NR_Linux +  13)
  1003. #define __NR_mknod            (__NR_Linux +  14)
  1004. #define __NR_chmod            (__NR_Linux +  15)
  1005. #define __NR_lchown            (__NR_Linux +  16)
  1006. #define __NR_break            (__NR_Linux +  17)
  1007. #define __NR_oldstat            (__NR_Linux +  18)
  1008. #define __NR_lseek            (__NR_Linux +  19)
  1009. #define __NR_getpid            (__NR_Linux +  20)
  1010. #define __NR_mount            (__NR_Linux +  21)
  1011. #define __NR_umount            (__NR_Linux +  22)
  1012. #define __NR_setuid            (__NR_Linux +  23)
  1013. #define __NR_getuid            (__NR_Linux +  24)
  1014. #define __NR_stime            (__NR_Linux +  25)
  1015. #define __NR_ptrace            (__NR_Linux +  26)
  1016. #define __NR_alarm            (__NR_Linux +  27)
  1017. #define __NR_oldfstat            (__NR_Linux +  28)
  1018. #define __NR_pause            (__NR_Linux +  29)
  1019. #define __NR_utime            (__NR_Linux +  30)
  1020. #define __NR_stty            (__NR_Linux +  31)
  1021. #define __NR_gtty            (__NR_Linux +  32)
  1022. #define __NR_access            (__NR_Linux +  33)
  1023. #define __NR_nice            (__NR_Linux +  34)
  1024. #define __NR_ftime            (__NR_Linux +  35)
  1025. #define __NR_sync            (__NR_Linux +  36)
  1026. #define __NR_kill            (__NR_Linux +  37)
  1027. #define __NR_rename            (__NR_Linux +  38)
  1028. #define __NR_mkdir            (__NR_Linux +  39)
  1029. #define __NR_rmdir            (__NR_Linux +  40)
  1030. #define __NR_dup            (__NR_Linux +  41)
  1031. #define __NR_pipe            (__NR_Linux +  42)
  1032. #define __NR_times            (__NR_Linux +  43)
  1033. #define __NR_prof            (__NR_Linux +  44)
  1034. #define __NR_brk            (__NR_Linux +  45)
  1035. #define __NR_setgid            (__NR_Linux +  46)
  1036. #define __NR_getgid            (__NR_Linux +  47)
  1037. #define __NR_signal            (__NR_Linux +  48)
  1038. #define __NR_geteuid            (__NR_Linux +  49)
  1039. #define __NR_getegid            (__NR_Linux +  50)
  1040. #define __NR_acct            (__NR_Linux +  51)
  1041. #define __NR_umount2            (__NR_Linux +  52)
  1042. #define __NR_lock            (__NR_Linux +  53)
  1043. #define __NR_ioctl            (__NR_Linux +  54)
  1044. #define __NR_fcntl            (__NR_Linux +  55)
  1045. #define __NR_mpx            (__NR_Linux +  56)
  1046. #define __NR_setpgid            (__NR_Linux +  57)
  1047. #define __NR_ulimit            (__NR_Linux +  58)
  1048. #define __NR_oldolduname        (__NR_Linux +  59)
  1049. #define __NR_umask            (__NR_Linux +  60)
  1050. #define __NR_chroot            (__NR_Linux +  61)
  1051. #define __NR_ustat            (__NR_Linux +  62)
  1052. #define __NR_dup2            (__NR_Linux +  63)
  1053. #define __NR_getppid            (__NR_Linux +  64)
  1054. #define __NR_getpgrp            (__NR_Linux +  65)
  1055. #define __NR_setsid            (__NR_Linux +  66)
  1056. #define __NR_sigaction            (__NR_Linux +  67)
  1057. #define __NR_sgetmask            (__NR_Linux +  68)
  1058. #define __NR_ssetmask            (__NR_Linux +  69)
  1059. #define __NR_setreuid            (__NR_Linux +  70)
  1060. #define __NR_setregid            (__NR_Linux +  71)
  1061. #define __NR_sigsuspend            (__NR_Linux +  72)
  1062. #define __NR_sigpending            (__NR_Linux +  73)
  1063. #define __NR_sethostname        (__NR_Linux +  74)
  1064. #define __NR_setrlimit            (__NR_Linux +  75)
  1065. #define __NR_getrlimit            (__NR_Linux +  76)
  1066. #define __NR_getrusage            (__NR_Linux +  77)
  1067. #define __NR_gettimeofday        (__NR_Linux +  78)
  1068. #define __NR_settimeofday        (__NR_Linux +  79)
  1069. #define __NR_getgroups            (__NR_Linux +  80)
  1070. #define __NR_setgroups            (__NR_Linux +  81)
  1071. #define __NR_reserved82            (__NR_Linux +  82)
  1072. #define __NR_symlink            (__NR_Linux +  83)
  1073. #define __NR_oldlstat            (__NR_Linux +  84)
  1074. #define __NR_readlink            (__NR_Linux +  85)
  1075. #define __NR_uselib            (__NR_Linux +  86)
  1076. #define __NR_swapon            (__NR_Linux +  87)
  1077. #define __NR_reboot            (__NR_Linux +  88)
  1078. #define __NR_readdir            (__NR_Linux +  89)
  1079. #define __NR_mmap            (__NR_Linux +  90)
  1080. #define __NR_munmap            (__NR_Linux +  91)
  1081. #define __NR_truncate            (__NR_Linux +  92)
  1082. #define __NR_ftruncate            (__NR_Linux +  93)
  1083. #define __NR_fchmod            (__NR_Linux +  94)
  1084. #define __NR_fchown            (__NR_Linux +  95)
  1085. #define __NR_getpriority        (__NR_Linux +  96)
  1086. #define __NR_setpriority        (__NR_Linux +  97)
  1087. #define __NR_profil            (__NR_Linux +  98)
  1088. #define __NR_statfs            (__NR_Linux +  99)
  1089. #define __NR_fstatfs            (__NR_Linux + 100)
  1090. #define __NR_ioperm            (__NR_Linux + 101)
  1091. #define __NR_socketcall            (__NR_Linux + 102)
  1092. #define __NR_syslog            (__NR_Linux + 103)
  1093. #define __NR_setitimer            (__NR_Linux + 104)
  1094. #define __NR_getitimer            (__NR_Linux + 105)
  1095. #define __NR_stat            (__NR_Linux + 106)
  1096. #define __NR_lstat            (__NR_Linux + 107)
  1097. #define __NR_fstat            (__NR_Linux + 108)
  1098. #define __NR_olduname            (__NR_Linux + 109)
  1099. #define __NR_iopl            (__NR_Linux + 110)
  1100. #define __NR_vhangup            (__NR_Linux + 111)
  1101. #define __NR_idle            (__NR_Linux + 112)
  1102. #define __NR_vm86            (__NR_Linux + 113)
  1103. #define __NR_wait4            (__NR_Linux + 114)
  1104. #define __NR_swapoff            (__NR_Linux + 115)
  1105. #define __NR_sysinfo            (__NR_Linux + 116)
  1106. #define __NR_ipc            (__NR_Linux + 117)
  1107. #define __NR_fsync            (__NR_Linux + 118)
  1108. #define __NR_sigreturn            (__NR_Linux + 119)
  1109. #define __NR_clone            (__NR_Linux + 120)
  1110. #define __NR_setdomainname        (__NR_Linux + 121)
  1111. #define __NR_uname            (__NR_Linux + 122)
  1112. #define __NR_modify_ldt            (__NR_Linux + 123)
  1113. #define __NR_adjtimex            (__NR_Linux + 124)
  1114. #define __NR_mprotect            (__NR_Linux + 125)
  1115. #define __NR_sigprocmask        (__NR_Linux + 126)
  1116. #define __NR_create_module        (__NR_Linux + 127)
  1117. #define __NR_init_module        (__NR_Linux + 128)
  1118. #define __NR_delete_module        (__NR_Linux + 129)
  1119. #define __NR_get_kernel_syms        (__NR_Linux + 130)
  1120. #define __NR_quotactl            (__NR_Linux + 131)
  1121. #define __NR_getpgid            (__NR_Linux + 132)
  1122. #define __NR_fchdir            (__NR_Linux + 133)
  1123. #define __NR_bdflush            (__NR_Linux + 134)
  1124. #define __NR_sysfs            (__NR_Linux + 135)
  1125. #define __NR_personality        (__NR_Linux + 136)
  1126. #define __NR_afs_syscall        (__NR_Linux + 137) /* Syscall for Andrew File System */
  1127. #define __NR_setfsuid            (__NR_Linux + 138)
  1128. #define __NR_setfsgid            (__NR_Linux + 139)
  1129. #define __NR__llseek            (__NR_Linux + 140)
  1130. #define __NR_getdents            (__NR_Linux + 141)
  1131. #define __NR__newselect            (__NR_Linux + 142)
  1132. #define __NR_flock            (__NR_Linux + 143)
  1133. #define __NR_msync            (__NR_Linux + 144)
  1134. #define __NR_readv            (__NR_Linux + 145)
  1135. #define __NR_writev            (__NR_Linux + 146)
  1136. #define __NR_cacheflush            (__NR_Linux + 147)
  1137. #define __NR_cachectl            (__NR_Linux + 148)
  1138. #define __NR_sysmips            (__NR_Linux + 149)
  1139. #define __NR_unused150            (__NR_Linux + 150)
  1140. #define __NR_getsid            (__NR_Linux + 151)
  1141. #define __NR_fdatasync            (__NR_Linux + 152)
  1142. #define __NR__sysctl            (__NR_Linux + 153)
  1143. #define __NR_mlock            (__NR_Linux + 154)
  1144. #define __NR_munlock            (__NR_Linux + 155)
  1145. #define __NR_mlockall            (__NR_Linux + 156)
  1146. #define __NR_munlockall            (__NR_Linux + 157)
  1147. #define __NR_sched_setparam        (__NR_Linux + 158)
  1148. #define __NR_sched_getparam        (__NR_Linux + 159)
  1149. #define __NR_sched_setscheduler        (__NR_Linux + 160)
  1150. #define __NR_sched_getscheduler        (__NR_Linux + 161)
  1151. #define __NR_sched_yield        (__NR_Linux + 162)
  1152. #define __NR_sched_get_priority_max    (__NR_Linux + 163)
  1153. #define __NR_sched_get_priority_min    (__NR_Linux + 164)
  1154. #define __NR_sched_rr_get_interval    (__NR_Linux + 165)
  1155. #define __NR_nanosleep            (__NR_Linux + 166)
  1156. #define __NR_mremap            (__NR_Linux + 167)
  1157. #define __NR_accept            (__NR_Linux + 168)
  1158. #define __NR_bind            (__NR_Linux + 169)
  1159. #define __NR_connect            (__NR_Linux + 170)
  1160. #define __NR_getpeername        (__NR_Linux + 171)
  1161. #define __NR_getsockname        (__NR_Linux + 172)
  1162. #define __NR_getsockopt            (__NR_Linux + 173)
  1163. #define __NR_listen            (__NR_Linux + 174)
  1164. #define __NR_recv            (__NR_Linux + 175)
  1165. #define __NR_recvfrom            (__NR_Linux + 176)
  1166. #define __NR_recvmsg            (__NR_Linux + 177)
  1167. #define __NR_send            (__NR_Linux + 178)
  1168. #define __NR_sendmsg            (__NR_Linux + 179)
  1169. #define __NR_sendto            (__NR_Linux + 180)
  1170. #define __NR_setsockopt            (__NR_Linux + 181)
  1171. #define __NR_shutdown            (__NR_Linux + 182)
  1172. #define __NR_socket            (__NR_Linux + 183)
  1173. #define __NR_socketpair            (__NR_Linux + 184)
  1174. #define __NR_setresuid            (__NR_Linux + 185)
  1175. #define __NR_getresuid            (__NR_Linux + 186)
  1176. #define __NR_query_module        (__NR_Linux + 187)
  1177. #define __NR_poll            (__NR_Linux + 188)
  1178. #define __NR_nfsservctl            (__NR_Linux + 189)
  1179. #define __NR_setresgid            (__NR_Linux + 190)
  1180. #define __NR_getresgid            (__NR_Linux + 191)
  1181. #define __NR_prctl            (__NR_Linux + 192)
  1182. #define __NR_rt_sigreturn        (__NR_Linux + 193)
  1183. #define __NR_rt_sigaction        (__NR_Linux + 194)
  1184. #define __NR_rt_sigprocmask        (__NR_Linux + 195)
  1185. #define __NR_rt_sigpending        (__NR_Linux + 196)
  1186. #define __NR_rt_sigtimedwait        (__NR_Linux + 197)
  1187. #define __NR_rt_sigqueueinfo        (__NR_Linux + 198)
  1188. #define __NR_rt_sigsuspend        (__NR_Linux + 199)
  1189. #define __NR_pread            (__NR_Linux + 200)
  1190. #define __NR_pwrite            (__NR_Linux + 201)
  1191. #define __NR_chown            (__NR_Linux + 202)
  1192. #define __NR_getcwd            (__NR_Linux + 203)
  1193. #define __NR_capget            (__NR_Linux + 204)
  1194. #define __NR_capset            (__NR_Linux + 205)
  1195. #define __NR_sigaltstack        (__NR_Linux + 206)
  1196. #define __NR_sendfile            (__NR_Linux + 207)
  1197. #define __NR_getpmsg            (__NR_Linux + 208)
  1198. #define __NR_putpmsg            (__NR_Linux + 209)
  1199.  
  1200. /*
  1201.  * Offset of the last Linux flavoured syscall
  1202.  */
  1203. #define __NR_Linux_syscalls        209
  1204.  
  1205. #ifndef _LANGUAGE_ASSEMBLY
  1206.  
  1207. /* XXX - _foo needs to be __foo, while __NR_bar could be _NR_bar. */
  1208. #define _syscall0(type,name) \
  1209. type name(void) \
  1210. { \
  1211. register long __res __asm__ ("$2"); \
  1212. register long __err __asm__ ("$7"); \
  1213. __asm__ volatile ("li\t$2,%2\n\t" \
  1214.           "syscall" \
  1215.                   : "=r" (__res), "=r" (__err) \
  1216.                   : "i" (__NR_##name) \
  1217.                   : "$8","$9","$10","$11","$12","$13","$14","$15","$24"); \
  1218. if (__err == 0) \
  1219.     return (type) __res; \
  1220. errno = __res; \
  1221. return -1; \
  1222. }
  1223.  
  1224. /*
  1225.  * DANGER: This macro isn't usable for the pipe(2) call
  1226.  * which has a unusual return convention.
  1227.  */
  1228. #define _syscall1(type,name,atype,a) \
  1229. type name(atype a) \
  1230. { \
  1231. register long __res __asm__ ("$2"); \
  1232. register long __err __asm__ ("$7"); \
  1233. __asm__ volatile ("move\t$4,%3\n\t" \
  1234.           "li\t$2,%2\n\t" \
  1235.                   "syscall" \
  1236.                   : "=r" (__res), "=r" (__err) \
  1237.                   : "i" (__NR_##name),"r" ((long)(a)) \
  1238.                   : "$4","$8","$9","$10","$11","$12","$13","$14","$15","$24"); \
  1239. if (__err == 0) \
  1240.     return (type) __res; \
  1241. errno = __res; \
  1242. return -1; \
  1243. }
  1244.  
  1245. #define _syscall2(type,name,atype,a,btype,b) \
  1246. type name(atype a,btype b) \
  1247. { \
  1248. register long __res __asm__ ("$2"); \
  1249. register long __err __asm__ ("$7"); \
  1250. __asm__ volatile ("move\t$4,%3\n\t" \
  1251.                   "move\t$5,%4\n\t" \
  1252.           "li\t$2,%2\n\t" \
  1253.                   "syscall" \
  1254.                   : "=r" (__res), "=r" (__err) \
  1255.                   : "i" (__NR_##name),"r" ((long)(a)), \
  1256.                                       "r" ((long)(b)) \
  1257.                   : "$4","$5","$8","$9","$10","$11","$12","$13","$14","$15", \
  1258.                     "$24"); \
  1259. if (__err == 0) \
  1260.     return (type) __res; \
  1261. errno = __res; \
  1262. return -1; \
  1263. }
  1264.  
  1265. #define _syscall3(type,name,atype,a,btype,b,ctype,c) \
  1266. type name (atype a, btype b, ctype c) \
  1267. { \
  1268. register long __res __asm__ ("$2"); \
  1269. register long __err __asm__ ("$7"); \
  1270. __asm__ volatile ("move\t$4,%3\n\t" \
  1271.                   "move\t$5,%4\n\t" \
  1272.                   "move\t$6,%5\n\t" \
  1273.           "li\t$2,%2\n\t" \
  1274.                   "syscall" \
  1275.                   : "=r" (__res), "=r" (__err) \
  1276.                   : "i" (__NR_##name),"r" ((long)(a)), \
  1277.                                       "r" ((long)(b)), \
  1278.                                       "r" ((long)(c)) \
  1279.                   : "$4","$5","$6","$8","$9","$10","$11","$12","$13","$14", \
  1280.                     "$15","$24"); \
  1281. if (__err == 0) \
  1282.     return (type) __res; \
  1283. errno = __res; \
  1284. return -1; \
  1285. }
  1286.  
  1287. #define _syscall4(type,name,atype,a,btype,b,ctype,c,dtype,d) \
  1288. type name (atype a, btype b, ctype c, dtype d) \
  1289. { \
  1290. register long __res __asm__ ("$2"); \
  1291. register long __err __asm__ ("$7"); \
  1292. __asm__ volatile ("move\t$4,%3\n\t" \
  1293.                   "move\t$5,%4\n\t" \
  1294.                   "move\t$6,%5\n\t" \
  1295.                   "move\t$7,%6\n\t" \
  1296.           "li\t$2,%2\n\t" \
  1297.                   "syscall" \
  1298.                   : "=r" (__res), "=r" (__err) \
  1299.                   : "i" (__NR_##name),"r" ((long)(a)), \
  1300.                                       "r" ((long)(b)), \
  1301.                                       "r" ((long)(c)), \
  1302.                                       "r" ((long)(d)) \
  1303.                   : "$4","$5","$6""$8","$9","$10","$11","$12","$13","$14", \
  1304.                     "$15","$24"); \
  1305. if (__err == 0) \
  1306.     return (type) __res; \
  1307. errno = __res; \
  1308. return -1; \
  1309. }
  1310.  
  1311. #define _syscall5(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
  1312. type name (atype a,btype b,ctype c,dtype d,etype e) \
  1313. { \
  1314. register long __res __asm__ ("$2"); \
  1315. register long __err __asm__ ("$7"); \
  1316. __asm__ volatile ("move\t$4,%3\n\t" \
  1317.                   "move\t$5,%4\n\t" \
  1318.                   "move\t$6,%5\n\t" \
  1319.           "lw\t$2,%7\n\t" \
  1320.                   "move\t$7,%6\n\t" \
  1321.           "subu\t$29,24\n\t" \
  1322.           "sw\t$2,16($29)\n\t" \
  1323.           "li\t$2,%2\n\t" \
  1324.                   "syscall\n\t" \
  1325.           "addiu\t$29,24" \
  1326.                   : "=r" (__res), "=r" (__err) \
  1327.                   : "i" (__NR_##name),"r" ((long)(a)), \
  1328.                                       "r" ((long)(b)), \
  1329.                                       "r" ((long)(c)), \
  1330.                                       "r" ((long)(d)), \
  1331.                                       "m" ((long)(e)) \
  1332.                   : "$2","$4","$5","$6","$7","$8","$9","$10","$11","$12", \
  1333.                     "$13","$14","$15","$24"); \
  1334. if (__err == 0) \
  1335.     return (type) __res; \
  1336. errno = __res; \
  1337. return -1; \
  1338. }
  1339.  
  1340. #define _syscall6(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f) \
  1341. type name (atype a,btype b,ctype c,dtype d,etype e,ftype f) \
  1342. { \
  1343. register long __res __asm__ ("$2"); \
  1344. register long __err __asm__ ("$7"); \
  1345. __asm__ volatile ("move\t$4,%3\n\t" \
  1346.                   "move\t$5,%4\n\t" \
  1347.                   "move\t$6,%5\n\t" \
  1348.           "lw\t$2,%7\n\t" \
  1349.           "lw\t$3,%8\n\t" \
  1350.                   "move\t$7,%6\n\t" \
  1351.           "subu\t$29,24\n\t" \
  1352.           "sw\t$2,16($29)\n\t" \
  1353.           "sw\t$3,20($29)\n\t" \
  1354.           "li\t$2,%2\n\t" \
  1355.                   "syscall\n\t" \
  1356.           "addiu\t$29,24" \
  1357.                   : "=r" (__res), "=r" (__err) \
  1358.                   : "i" (__NR_##name),"r" ((long)(a)), \
  1359.                                       "r" ((long)(b)), \
  1360.                                       "r" ((long)(c)), \
  1361.                                       "r" ((long)(d)), \
  1362.                                       "m" ((long)(e)), \
  1363.                                       "m" ((long)(f)) \
  1364.                   : "$2","$3","$4","$5","$6","$7","$8","$9","$10","$11", \
  1365.                     "$12","$13","$14","$15","$24"); \
  1366. if (__err == 0) \
  1367.     return (type) __res; \
  1368. errno = __res; \
  1369. return -1; \
  1370. }
  1371.  
  1372. #define _syscall7(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f,gtype,g) \
  1373. type name (atype a,btype b,ctype c,dtype d,etype e,ftype f,gtype g) \
  1374. { \
  1375. register long __res __asm__ ("$2"); \
  1376. register long __err __asm__ ("$7"); \
  1377. __asm__ volatile ("move\t$4,%3\n\t" \
  1378.                   "move\t$5,%4\n\t" \
  1379.                   "move\t$6,%5\n\t" \
  1380.           "lw\t$2,%7\n\t" \
  1381.           "lw\t$3,%8\n\t" \
  1382.                   "move\t$7,%6\n\t" \
  1383.           "subu\t$29,32\n\t" \
  1384.           "sw\t$2,16($29)\n\t" \
  1385.           "lw\t$2,%9\n\t" \
  1386.           "sw\t$3,20($29)\n\t" \
  1387.           "sw\t$2,24($29)\n\t" \
  1388.           "li\t$2,%2\n\t" \
  1389.                   "syscall\n\t" \
  1390.           "addiu\t$29,32" \
  1391.                   : "=r" (__res), "=r" (__err) \
  1392.                   : "i" (__NR_##name),"r" ((long)(a)), \
  1393.                                       "r" ((long)(b)), \
  1394.                                       "r" ((long)(c)), \
  1395.                                       "r" ((long)(d)), \
  1396.                                       "m" ((long)(e)), \
  1397.                                       "m" ((long)(f)), \
  1398.                                       "m" ((long)(g)) \
  1399.                   : "$2","$3","$4","$5","$6","$7","$8","$9","$10","$11", \
  1400.                     "$12","$13","$14","$15","$24"); \
  1401. if (__err == 0) \
  1402.     return (type) __res; \
  1403. errno = __res; \
  1404. return -1; \
  1405. }
  1406.  
  1407. #ifdef __KERNEL_SYSCALLS__
  1408.  
  1409. /*
  1410.  * we need this inline - forking from kernel space will result
  1411.  * in NO COPY ON WRITE (!!!), until an execve is executed. This
  1412.  * is no problem, but for the stack. This is handled by not letting
  1413.  * main() use the stack at all after fork(). Thus, no function
  1414.  * calls - which means inline code for fork too, as otherwise we
  1415.  * would use the stack upon exit from 'fork()'.
  1416.  *
  1417.  * Actually only pause and fork are needed inline, so that there
  1418.  * won't be any messing with the stack from main(), but we define
  1419.  * some others too.
  1420.  */
  1421. #define __NR__exit __NR_exit
  1422. static inline _syscall0(int,idle)
  1423. static inline _syscall0(int,pause)
  1424. static inline _syscall0(int,sync)
  1425. static inline _syscall0(pid_t,setsid)
  1426. static inline _syscall3(int,write,int,fd,const char *,buf,off_t,count)
  1427. static inline _syscall1(int,dup,int,fd)
  1428. static inline _syscall3(int,execve,const char *,file,char **,argv,char **,envp)
  1429. static inline _syscall3(int,open,const char *,file,int,flag,int,mode)
  1430. static inline _syscall1(int,close,int,fd)
  1431. static inline _syscall1(int,_exit,int,exitcode)
  1432. static inline _syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options)
  1433. static inline _syscall1(int,delete_module,const char *,name)
  1434.  
  1435. static inline pid_t wait(int * wait_stat)
  1436. {
  1437.     return waitpid(-1,wait_stat,0);
  1438. }
  1439.  
  1440. /*
  1441.  * This is the mechanism for creating a new kernel thread.
  1442.  *
  1443.  * NOTE! Only a kernel-only process(ie the swapper or direct descendants
  1444.  * who haven't done an "execve()") should use this: it will work within
  1445.  * a system call from a "real" process, but the process memory space will
  1446.  * not be free'd until both the parent and the child have exited.
  1447.  */
  1448. static inline pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
  1449. {
  1450.     long retval;
  1451.  
  1452.     __asm__ __volatile__(
  1453.         ".set\tnoreorder\n\t"
  1454.         "move\t$6,$sp\n\t"
  1455.         "move\t$4,%5\n\t"
  1456.         "li\t$2,%1\n\t"
  1457.         "syscall\n\t"
  1458.         "beq\t$6,$sp,1f\n\t"
  1459.         "subu\t$sp,32\n\t"    /* delay slot */
  1460.         "jalr\t%4\n\t"
  1461.         "move\t$4,%3\n\t"    /* delay slot */
  1462.         "move\t$4,$2\n\t"
  1463.         "li\t$2,%2\n\t"
  1464.         "syscall\n"
  1465.         "1:\taddiu\t$sp,32\n\t"
  1466.         "move\t%0,$2\n\t"
  1467.         ".set\treorder"
  1468.         :"=r" (retval)
  1469.         :"i" (__NR_clone), "i" (__NR_exit),
  1470.          "r" (arg), "r" (fn),
  1471.          "r" (flags | CLONE_VM)
  1472.          /*
  1473.           * The called subroutine might have destroyed any of the
  1474.           * at, result, argument or temporary registers ...
  1475.           */
  1476.         :"$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
  1477.          "$9","$10","$11","$12","$13","$14","$15","$24","$25");
  1478.  
  1479.     return retval;
  1480. }
  1481.  
  1482. #endif /* !defined (__KERNEL_SYSCALLS__) */
  1483. #endif /* !defined (_LANGUAGE_ASSEMBLY) */
  1484.  
  1485. #endif /* __ASM_MIPS_UNISTD_H */
  1486.